[英]How to have a variable changing XPATH - Selenium , python
我试过在我的例子中找到一个包含某些文本的 xpath 单词“跟随”,但它似乎找不到元素。 为了解决这个问题,我点击了 xpath 的“关注”按钮 - 但是这些是动态的并且每一行都会改变。
我目前正在这样做:
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]"
- 我会怎么做输入这个。 我也可以像这样放入代码中:
driver.find_element_by_xpath("variable").click()
//*[text()[contains(.,'theText')]]
将找到带有文本节点“theText”的对象
//*[contains(concat(' ',normalize-space(@attribute), ' '), ' value ')]
将找到属性“attribute”的值为“value”的节点
你可以使用类似的东西:
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);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.