使用 python 的 Selenium Web 自动化:我如何处理 table 使用 selenium 通过匹配文本查找特定行并删除该行
Selenium web automation using python: How can I handle table using selenium to find a particular row by matching text and delete that row
下面是一段代码,我复制了一个记录(行)。我想从下面的代码中搜索 selenium1 并删除 table 的记录。我已经在 table 中分享了记录的截图。每条记录的 ID 也不同。所以,我想删除基于匹配文本的记录。请帮助
<tr class="evenrow" id="S2D10925" onmouseover="javascript:this.className='hilightrow';" onmouseout="javascript:this.className='evenrow';" onclick="javascript:selectNode('S2D10925');">
<td align="left">
<img src="../images/icons/destinations\email3.png" style="vertical-align:middle;" width="16"
height="16">
SELENIUM1
</td>
<td nowrap="nowrap" align="left">Automation1</td>
<td nowrap="nowrap" align="left">INTERNET</td>
<td nowrap="nowrap" align="left">INTER_PROVIDER</td>
<td align="left">SELENIUM1@SEQENT.COM</td>
<td align="left">selenium1@seqent.com</td>
<td align="left">EMAIL</td>
<td nowrap="nowrap" align="left">(UTC-10:00) Hawaii</td>
<td nowrap="nowrap" align="left">Enabled</td>
</tr>
enter image description here
我会选择 XPath。
根据您使用的库,实现会有所不同,但底层 Webdriver 支持 XPath。
示例 XPath,它将为您提供包含带有给定文本的 td 的 tr 节点
//tr[//td[contains(text(),'Automation1')]]
这是使用您的 html 片段的代码笔:
https://codepen.io/chm-dev-the-selector/pen/dyVdLOa
如果您不熟悉 XPath,我强烈推荐此资源:
https://devhints.io/xpath
如果您想切入正题,我发现它非常有用且节省时间,尤其是使用 XPath 测试平台(在页面上提供)时。
还在类似主题上找到了这个:
https://www.guru99.com/using-contains-sbiling-ancestor-to-find-element-in-selenium.html
下面是一段代码,我复制了一个记录(行)。我想从下面的代码中搜索 selenium1 并删除 table 的记录。我已经在 table 中分享了记录的截图。每条记录的 ID 也不同。所以,我想删除基于匹配文本的记录。请帮助
<tr class="evenrow" id="S2D10925" onmouseover="javascript:this.className='hilightrow';" onmouseout="javascript:this.className='evenrow';" onclick="javascript:selectNode('S2D10925');">
<td align="left">
<img src="../images/icons/destinations\email3.png" style="vertical-align:middle;" width="16"
height="16">
SELENIUM1
</td>
<td nowrap="nowrap" align="left">Automation1</td>
<td nowrap="nowrap" align="left">INTERNET</td>
<td nowrap="nowrap" align="left">INTER_PROVIDER</td>
<td align="left">SELENIUM1@SEQENT.COM</td>
<td align="left">selenium1@seqent.com</td>
<td align="left">EMAIL</td>
<td nowrap="nowrap" align="left">(UTC-10:00) Hawaii</td>
<td nowrap="nowrap" align="left">Enabled</td>
</tr>
enter image description here
我会选择 XPath。 根据您使用的库,实现会有所不同,但底层 Webdriver 支持 XPath。
示例 XPath,它将为您提供包含带有给定文本的 td 的 tr 节点
//tr[//td[contains(text(),'Automation1')]]
这是使用您的 html 片段的代码笔:
https://codepen.io/chm-dev-the-selector/pen/dyVdLOa
如果您不熟悉 XPath,我强烈推荐此资源: https://devhints.io/xpath 如果您想切入正题,我发现它非常有用且节省时间,尤其是使用 XPath 测试平台(在页面上提供)时。
还在类似主题上找到了这个: https://www.guru99.com/using-contains-sbiling-ancestor-to-find-element-in-selenium.html