我试图单击xpath为:
//*[@id="single-71048602500"]/div[2]/div[1]
还有更多以//*[@id="single"]
开头的元素,并且每次加载页面时数字都会更改。因此,唯一特定的位是“单”和/div[2]/div[1].
CSS_selector也有数字,所以没有用。
选择元素的代码是什么?
我正在使用Python和Selenium。
答案 0 :(得分:0)
在这里,我假设您要单击所有具有“单”和/ div [2] / div [1]组合的元素。
首先,尝试从所需元素的父元素中获取所有元素。现在,您将获得WebElements列表。遍历所有元素,然后单击ID以“ single”开头的元素。
sd = mainpage.find_elements_by_xpath('//*[@id]') #parent webelement
for i in sd:
if str(i.get_attribute('id')).startswith("single"):
j = i.find_element_by_xpath('//*[@id="{}"]/div[2]/div[1]'.format(i.get_attribute('id')))
j.click()
答案 1 :(得分:0)
尝试这个xpath,让我知道它的运行方式。
(//*[contains(@id,"single")]/div[2]/div[1])[index of an element ]
下面的xpath将帮助您查找所有包含id值的元素
//*[contains(@id,"single")]/div[2]/div[1]