【发布时间】:2023-03-27 02:50:02
【问题描述】:
我正在编写一个自动化脚本 [使用 selenium 和 python],它应该执行以下操作
- 动态读取表格的行和列,查找在任何行中设置为 0 值的列[这是常量],如果找到,请单击同一行中的 [分配/取消分配] 按钮列
我不想对值为“0”的列的 xpath 进行硬编码,而是动态查找并继续。
下面是我写的代码
trows = table1.find_elements_by_xpath("//table[@id='ambassadors-for-assignment']/tbody/tr")
row_count = len(trows)
tcols = trows.find_elements_by_xpath("//table[@id='ambassadors-for-assignment']/tbody/tr/td")
col_count = len(tcols)
first_part = "//table[@id=ambassadors-for-assignment']/tbody/tr["
second_part = "]/td["
third_part = "]"
for i in range(1, len(row_count)):
for j in range(1, len(col_count)):
final_xpath = first_part+i+second_part+j+third_part
HTML 文件结构
<tbody>
<tr>
<td> james </td>
<td> watson </td>
<td> 10 | 5 </td>
<td>
<div class="btn-group" role="group">
<button class="btn btn-success" type="button">
<i class="fa fa-plus"></i>
</button>
<button class="btn btn-danger" type="button">
<i class="fa fa-minus"></i>
</button>
</div>
</td>
</tr>
....
我的 HTML 文件有 n 行和上面给出的列。正如我所提到的,我想阅读第三列值[即 10 | 5]看它是否为0[只考虑第三列的第一项]然后点击下一列的按钮[btn btn-success]。
任何进一步的指示将不胜感激!
我将在 cmets 部分提供指向实际 HTML 文件的链接
【问题讨论】:
-
链接到 HTML : jsfiddle.net/gkfqa644/2
-
没有一个 td 符合您的描述,即没有一个 td 看起来像
0 | 20。
标签: python python-2.7 selenium selenium-webdriver