使用Selenium和Python在XPATH中查找元素

时间:2017-09-07 08:49:33

标签: python selenium xpath

我正在尝试使用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]"]')

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

1 个答案:

答案 0 :(得分:1)

如果您使用contains

,则可以避免引号问题
driver.find_element_by_xpath("//button[contains(@data-entry, 'Activity')][contains(@data-entry, '1171944030')]");