在Selenium python中通过xpath模式查找元素

Adi*_*lik 1 python xpath selenium-webdriver

我正在使用硒蟒和生菜来测试django应用程序.

在以下模式中有许多具有xpath的元素,我不知道文档中存在多少这些元素.

.//*[@id='accordion-note-1']
.//*[@id='accordion-note-2']
.//*[@id='accordion-note-3']
.//*[@id='accordion-note-4']
Run Code Online (Sandbox Code Playgroud)

有没有办法在driver.find_elements_by_xpath中使用模式?
基本上我的目的是让所有项目都具有这种xpath模式.

noo*_*oor 5

不确定这会有效,但你可以尝试使用下面的xpath:

.//*[starts-with(@id, 'accordion-note')]
Run Code Online (Sandbox Code Playgroud)

这里是链接 http://www.zvon.org/xxl/XSLTreference/Output/function_starts-with.html

你也可以在这里使用像

.//*[contains(@id, 'accordion-note')]     
Run Code Online (Sandbox Code Playgroud)

  • 我用过这样的答案.**world.driver.find_elements_by_xpath(".//*[matches(@id,'accordion - IT - \\ d +')]")**.这是我得到这个错误的错误.**给定的选择器.//*[匹配(@ id,'accordion - IT - \d +')]无效或不会产生WebElement**. (2认同)