在python selenium中获取ID和类的xpath

时间:2017-01-17 06:01:54

标签: python selenium xpath

enter image description here在python selenium中,如何为下面的代码创建xpath,只需要id和class:

<button type="button" id="ext-gen756" class=" x-btn-text">Save</button>

我还需要从下面选择全局ID而不点击它。

<div class="x-combo-list-item">Global ID</div>

我的以下解决方案无效 -

 //div[@class='x-combo-list-item']/div[contains(.,'Global ID')]

我不想提及{ - 1}}序列号,如 -

droplist

2 个答案:

答案 0 :(得分:3)

如果您想在id尝试联合classxpath,请尝试这样做 -

driver.find_element_by_xpath('//button[@id="ext-gen756"][@class=" x-btn-text"]');

您也可以使用AND -

尝试相同的操作
driver.find_element_by_xpath('//button[@id="ext-gen756" and @class=" x-btn-text"]');

<强> EDITED

您的xpath似乎不正确。使用以下 -

driver.find_element_by_xpath('//div[@class="x-combo-list-item"][contains(.,"Global ID")]');

答案 1 :(得分:0)

在很长一段时间看了之后回答我自己的问题。当我在xpath主题中不熟悉时,该问题被发布了。

<button type="button" id="ext-gen756" class=" x-btn-text">Save</button>

在id和class方面:

driver.find_element_by_xpath("//button[@id='ext-gen756'][@class=' x-btn-text']")

有时,如果Id是动态的,并且每次重新加载页面都会更改,那么您可以尝试:

driver.find_element_by_xpath("//button[@type='Save'][contains(@id,'ext-gen')][@class=' x-btn-text']")

这里我使用@type和@id包含选项作为前缀(ext-gen)通常保持相同的动态ID