如何在XPath选择中包含属性

时间:2014-07-18 13:25:30

标签: python selenium xpath

我正在使用selenium来浏览页面。

以下是页面来源:

<td colspan="10" align="right">
                <input type="button" name="previous" value="Previous" onclick="this.form.action = 'coca-cola-north-america-group-company-37452.htm?previous=true&currentPage=6';this.form.submit();" > 
                <input type="hidden" name="currentPage" id="currentPage" value="6" />

                <input type="button" name="next" value="Next" onclick="this.form.action = 'coca-cola-north-america-group-company-37452.htm?next=true&currentPage=6';this.form.submit();" >
            </td>


<td colspan="10" align="right">
                <input type="button" name="previous" value="Previous" onclick="this.form.action = 'coca-cola-north-america-group-company-37452.htm?previous=true&currentPage=7';this.form.submit();" > 
                <input type="hidden" name="currentPage" id="currentPage" value="7" />

我正在使用seleniums点击方法点击下一页,

browser.find_element_by_xpath('//*[@name="next"]').click()                  

现在当我来到最后一页(下面是源代码)时,我得到了相同的xpath(用于下一页链接)---最后有属性disabled。我想让硒停在这里。

但是我不确定如何在xpath中包含disabled属性。

                <input type="button" name="next" value="Next" onclick="this.form.action = 'coca-cola-north-america-group-company-37452.htm?next=true&currentPage=7';this.form.submit();" disabled>
            </td>

2 个答案:

答案 0 :(得分:11)

尝试:

//*[@name="next"][not(@disabled)]

答案 1 :(得分:-1)

这个问题被标记为xPath,但我仍然认为测试人员应该尽可能多地使用CSS,因为它非常简单。这是你在CSS中的答案。

input[name='next']:not([disabled])