我正在尝试使用Selenium编写一些自动化的前端测试。
我正在尝试选择,如标题所示,最后一行第五列中的一个按钮,其中有一个按钮,该按钮的文本为“XYZ”
我有一个片段可以从列中抓取原始文本并且工作正常:
//tr[td[.='XYZ']][last()]/td[4]
我尝试更改td索引以选择按钮的文本 - 但我猜它不起作用,因为与以前的td
值不同,按钮不是纯文本。它包含标记,因此选择需要进一步指定。
然后我尝试了以下选择:
//tr[td[button[text()='XYZ']]][last()]/td[5]/button
尝试选择最后一个tr
td
,其中button
的文本为{XY},<td>
<button class="btn btn-primary">New verification code</button>
</td>
不起作用。
我的问题
使用XPath,如何确定表格中最后一行的第五列是否有按钮,文本为“XYZ”?
我从未使用过XPath,我会在此期间阅读它。
更新
标记:
IOError: [Errno 13] Permission denied:
错误
无法找到元素:{“method”:“xpath”,“selector”:“// tr [last()] [td [5] / button [text()='XYZ']]”} < / p>
答案 0 :(得分:-1)
在我看来
//tr[last()]/td[5]//button[text()='XYZ']
是获取按钮元素的正确表达式。
如果您想要选择包含该按钮的整行,则应显示为:
//tr[last()][td[5]//button[text()='XYZ']]
(编辑:更新xpath以跳过td
和button
之间的元素