Selenium web 自动化使用 python:如何使用 selenium 处理表以通过匹配文本来查找特定行并删除该行

Posted

技术标签:

【中文标题】Selenium web 自动化使用 python:如何使用 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 【发布时间】:2021-12-30 19:29:13 【问题描述】:

以下是一段代码,我已经复制了一条记录(行)。我想从下面的代码中搜索 selenium1 并删除该表的记录。我已经分享了记录在表格中的外观的屏幕截图。每条记录的ID也不同。所以,我想根据匹配的文本删除记录。请帮忙

<tr class="evenrow" id="S2D10925" onmouseover="javascript:this.className='hilightrow';" onmouseout="javascript:this.className='evenrow';" onclick="javascript:selectNode('S2D10925');">
        <td align="left">
        &nbsp;
        <img src="../images/icons/destinations\email3.png" style="vertical-align:middle;"  
        >&nbsp;
        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

【问题讨论】:

【参考方案1】:

我会选择 XPath。 实现会因您使用的库而异,但底层 Webdriver 支持 XPath。

Example XPath 可以让你获得包含 td 和给定文本的 tr 节点

    //tr[//td[contains(text(),'Automation1')]]

这是一个使用您的 html 片段的 Codepen:

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

【讨论】:

以上是关于Selenium web 自动化使用 python:如何使用 selenium 处理表以通过匹配文本来查找特定行并删除该行的主要内容,如果未能解决你的问题,请参考以下文章

快速掌握Python Selenium Web自动化:二)Selenium操纵浏览器的最基本用例(转载)

Selenium web 自动化使用 python:如何使用 selenium 处理表以通过匹配文本来查找特定行并删除该行

Selenium基于Python 进行 web 自动化测试

Python(80)_使用selenium实现第一个web自动化程序

Selenium+Python进行web自动化测试(Demo+API)

一搭建selenium web自动化集成环境