python - 使用自定义值在 Selenium 中定位元素

标签 python selenium selenium-webdriver

我正在处理一个需要一些自动化的网页,并且由于其结构而无法与某些元素进行交互。简要示例:

<ul>
<li data-title="Search" data-action="search">
<li class="disabled" data-title="Ticket Grid" data-action="ticket-grid">
<li data-title="Create Ticket" data-action="create">
<li data-title="Settings" data-action="settings">
</ul>

我知道这里列出的所有定位器策略,例如 id 和 name: http://selenium-python.readthedocs.org/en/latest/locating-elements.html

但是,有没有一种方法可以通过自定义值指定查找内容,例如本例中的“data-title”?

最佳答案

您可以使用 CSS 选择任何属性,这是公式的样子:

element[attribute(*|^|$|~)='value']

根据您的示例,它将是:

li[data-title='Ticket Grid']

(来源 http://ddavison.io/css/2014/02/18/effective-css-selectors.html)

关于python - 使用自定义值在 Selenium 中定位元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27990419/

相关文章:

python - 安装旧版本的 scikit-learn

python - 如何将 numpy 数组附加到 pandas 数据框

python - 如何在Python中绘制双变量数据的饼图

css - 将 Styled-Component 与 Selenium 定位器集成

javascript - 为 JavaScript 客户端生成测试覆盖率

python - 如何在 selenium for python 中转义 xpath 1.0 中的单引号

java - Selenium 元素并不总是可点击

python - 从某些文本中删除损坏的标签和格式不正确的 html

google-chrome - 使用 `google-chrome --headless` 时如何设置浏览器窗口大小?

java - Selenium 中的线程 "main"java.lang.NullPointerException 中出现异常