首页 > 解决方案 > Selenium 循环链接

问题描述

在 selenium 中,在 python 中,我必须遍历 Jira1、jira2、jira3 链接

for i in range(1,4):
driver.find_element(By.XPATH,"//a[text()='Jira']+/str(i)").click()

它给了我一个错误 NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//a[text()='Jira+str(i)']"} (会话信息:chrome=91.0.4472.77)

我该如何解决

标签: selenium-webdriver

解决方案


要在构建 XPath 时使用变量,您应该正确插入该变量,如 @Martheen 正在评论。

所以代替:

driver.find_element(By.XPATH,"//a[text()='Jira']+/str(i)").click()

用这个:

driver.find_element(By.XPATH,"//a[text()='Jira" + i +"']").click()

这将构建即 XPath://a[text()='Jira1']

为了更好地控制您的循环并了解您的循环发生了什么,您可以首先构建 XPath 字符串然后使用它,即像这样:

for i in range(1,4):
   XPathInLoop = "//a[text()='Jira" + i + "']"
   print(XPathInLoop)
   driver.find_element(By.XPATH,XPathInLoop).click()

推荐阅读