Python中文
首页
教程
问答
标签
搜索
登录
注册
需要转储selenium s中具有元素id的整个DOM树
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我一直在使用python selenium进行web自动化测试。自动化的关键部分是为HTML页面中用户可见的对象找到正确的元素。下面的API大部分时间都可以工作,但不是所有时间都可以。</p> <pre><code>find_element_by_xxx, xxx can be id, name, xpath, tag_name etc. </code></pre> <p>当HTML页面太复杂时,我想搜索dom树。不知道是否可以要求selenium服务器序列化整个DOM(使用可以通过webdriver服务器执行操作的元素id)。客户端(python脚本)可以使用自己的搜索算法来查找正确的元素。</p> <p>注意,python selenium可以通过</p> <pre><code>drv.page_source </code></pre> <p>但是,从selenium服务器的角度来看,解析它并没有给出内部元素id,因此没有用处。</p> <p><strong>编辑1:</strong> 解释一下以使其更清楚(感谢@alecxe):这里需要的是selenium服务器中所有DOM元素的序列化表示(保留它们的DOM结构),这个序列化表示可以发送到客户端(python selenium测试应用程序),客户端可以进行自己的搜索。</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>尝试:</p> <pre><code>find_elements_by_xpath("//*") </code></pre> <p>它应该与文档中的所有元素匹配。</p> <p>更新(以匹配问题优化):</p> <p>使用javascript并将DOM作为字符串返回:</p> <pre><code>execute_script("return document.documentElement.outerHTML") </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
使用Python创建一个非常大的二进制频率矩阵来运行协作过滤
10 回答
使用Python创建一张HTML网页,其中在不同颜色中重复n遍显示“Hello World”的方法
4 回答
使用Python创建一组唯一的值length L
6 回答
使用python创建不同表格的透视表
2 回答
使用python创建不和谐频道
1 回答
使用python创建不存在的多个文件夹
2 回答
使用python创建串行远程文件
7 回答
使用python创建交互式仪表板时出现问题
7 回答
使用python创建交互式绘图
9 回答
使用python创建交互式自动电子邮件
7 回答
使用Python创建价格列表
1 回答
使用python创建修改的txt文件
4 回答
使用Python创建全局变量,初始化后更改值
5 回答
使用Python创建关键字搜索词数组
5 回答
使用Python创建具有不均匀块大小/堆叠条形图的热图
1 回答
使用Python创建具有依赖于另一列的值的列
6 回答
使用Python创建具有多列的HTML表
9 回答
使用Python创建具有时间范围数据的等距数据帧
7 回答
使用Python创建具有特定顺序或属性的XML文件
9 回答
使用Python创建具有级联功能的搜索栏
1 回答