【问题标题】:Find element by XPATH using Selenium with Python使用 Selenium 和 Python 通过 XPATH 查找元素
【发布时间】:2017-09-07 08:49:33
【问题描述】:

我正在尝试使用 Selenium(与 PhantomJS 结合)单击页面上的各种按钮。按钮的 html 如下所示:

<button class="btn btn-default btn-kudo btn-xs empty js-add-kudo" data-
entry="["Activity",1171944030]" str-on="click" str-trackable-
id="CgwIBTIICN7k6a4EGAESBAoCCAc=" str-type="kudos" title="Give Kudos">
<span class="app-icon icon-dark icon-kudo icon-sm">Kudos</span>
<span class="count count-kudos" data-kudo-count="0">0</span>
</button>

我想单击前面在脚本中定义的具有某些活动 ID 的按钮。因此,我想使用数据条目的 XPATH 找到按钮。我尝试了以下方法:

driver.find_element_by_xpath('//input[@data-entry="["Activity",1171944030]"]')

和

driver.find_element_by_xpath('//input[@data-entry="[&quot;Activity&quot;,1171944030]"]')

还有一些变体将引号放在不同的位置,但没有一个能够找到元素。谁能看到我做错了什么?

【问题讨论】:

    标签: python selenium xpath


    【解决方案1】:

    使用contains可以避免引号问题

    driver.find_element_by_xpath("//button[contains(@data-entry, 'Activity')][contains(@data-entry, '1171944030')]");
    

    【讨论】:

      猜你喜欢
      • 2018-08-28
      • 2016-03-12
      • 1970-01-01
      • 2020-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-31
      相关资源
      最近更新 更多