如何让一个变量改变XPATH Selenium,python

2024-04-19 22:12:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图找到一个xpath,它包含我的示例中的特定文本“follow”,但它似乎找不到元素。 为了解决这个问题,我单击xpath的“follow”按钮-但是这些都是动态的,并且每行都会更改。在

我现在是这样做的:

   driver.find_element_by_xpath("//div[26]/div[3]/a/span[2]").click()
   driver.find_element_by_xpath("//div[27]/div[3]/a/span[2]").click()
   driver.find_element_by_xpath("//div[28]/div[3]/a/span[2]").click()
   driver.find_element_by_xpath("//div[29]/div[3]/a/span[2]/span").click()
   driver.find_element_by_xpath("//div[30]/div[3]/a/span[2]").click()
   driver.find_element_by_xpath("//div[31]/div[3]/a/span[2]/span").click()
   driver.find_element_by_xpath("//div[32]/div[3]/a/span[2]/span").click()
   driver.find_element_by_xpath("//div[33]/div[3]/a/span[2]").click()
   driver.find_element_by_xpath("//div[34]/div[3]/a/span[2]/span").click()
   driver.find_element_by_xpath("//div[35]/div[3]/a/span[2]").click()

但是逐行执行是很耗时的-所以我在想如果我有一个"//div['X+1']/div[3]/a/span[2]"的变量-我该如何键入这个。 同样,我可以像这样在代码中放置:

^{pr2}$

Tags: 文本div元素示例bydriver动态element
2条回答

您可以使用类似于:

String xpathPrefix = "//div[";
String xpathSuffix = "]/div[3]/a/span[2]";

for (int i =26; i < 32; i++) {
    String fullXpath = xpathPrefix + String.valueOf(i)+ xpathSuffix ;
    driver.find_element_by_xpath.click(fullXpath);
}
//*[text()[contains(.,'theText')]]

将查找文本节点为“theText”的对象

^{pr2}$

将查找属性“attribute”的值为“value”的节点

相关问题 更多 >