selenium - 如何从父 xpath 对子 xpath 应用条件
问题描述
如果状态为“待定”(父节点),我想单击“挥手关闭”按钮(子节点)。
那么量角器中的xpath是什么?
我已经创建了挥动关闭按钮的根 xpath,但我不知道如何在编码中使用它。
如果我批准第一个 tr 标签,那么它会下降,如果它处于待处理状态,则第二个 tr 标签位于顶部。我的代码中共有 5 个 tr 标签。并且所有 tr 标签都不固定在它们的位置上。每当我运行我的脚本时,我都会在顶部获得挂起的 tr 标签。
<div>
<table>
<tbody>
<tr>
<td>
<p> required </p>
</td>
<td>
<p> Pending </p>
</td>
<td>
<div>
<img> </img>
<div>
<div> </div>
<div> </div>
<button> View Remark </button>
<button> Waved off </button>
</div>
</div>
</td>
</tr>
<tr>
<td>
<p> required </p>
</td>
<td>
<p> Pending </p>
</td>
<td>
<div>
<img> </img>
<div>
<div> </div>
<div> </div>
<button> View Remark </button>
<button> Waved off </button>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
解决方案
它会是这样的:
//p[contains(text(), 'Pending')]/parent::td/following-sibling::*/descendant::*/button[contains(text(),'Waved off')]
今后请在您的问题中包含整个<table>
标签内容,获得更准确建议的机会会更高
参考:
推荐阅读
- php - Laravel:如何处理表单中的重复数据
- blackberry-playbook - 没有收到 Blackberry Playbook 代码签名密钥
- php - 将 PHP SOAP 调用转换为 Postman
- javascript - 处理输入字段为组件的输入表单
- c# - Selenium Webdriver C# - 将 chromedriver.log 重定向到 stdout 或 stderr
- gitlab - 我们可以在 Gitlab 中拥有动态合并请求模板吗?
- php - 为什么我收到此 mbstring 扩展丢失错误
- ios - 无法从 Android Studio 为模拟器构建应用程序
- keras - 如何获得 keras-saved-model 的权重
- r - 将 R 与 Google Colaboratory 结合使用