通过xpath在Python中查找元素

时间:2019-10-08 17:15:03

标签: python selenium xpath partial

我试图单击xpath为:

//*[@id="single-71048602500"]/div[2]/div[1]

还有更多以//*[@id="single"]开头的元素,并且每次加载页面时数字都会更改。因此,唯一特定的位是“单”和/div[2]/div[1].

的组合

CSS_selector也有数字,所以没有用。

选择元素的代码是什么?

我正在使用Python和Selenium。

2 个答案:

答案 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]