通过 xpath 在 Python 中查找元素

Finding element in Python by xpath

我正在尝试单击 xpath 为:

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

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

的组合

CSS_selector也有编号,没用

select 元素的代码是什么?

我正在使用 Python 和 Selenium。

在这里,我假设您要单击具有 "single" 和 /div[2]/div[1].[= 组合的所有元素。 11=]

首先,尝试从所需元素的父元素 element.Now 中获取所有元素,您将得到 WebElements.iterate 的列表,遍历所有元素并单击 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()

试试这个 xpath,让我知道它是怎么回事。

(//*[contains(@id,"single")]/div[2]/div[1])[index of an element ]

下面的 xpath 将帮助您找到包含单个 id 值的所有元素

//*[contains(@id,"single")]/div[2]/div[1]