首页 > 解决方案 > 我需要设置一个for循环来点击几个链接,然后返回上一页

问题描述

这是我的一段代码:

my_list = WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.XPATH, "//table[@border='1']//a")))
for option in my_list:
    option.click()
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//a[@href='Javascript:history.go(-1)']"))).click() #to go back to the initial page

我正在使用它们共同的 xpath 从表中选择 10 个不同的链接,然后,对于每个链接,我想首先单击它,然后返回上一页上的表。问题是程序在第一次迭代时停止。我能做些什么?

在此处输入图像描述

标签: python-3.xseleniumfor-loopselenium-webdriverautomation

解决方案


你可以试试下面的代码:

my_list_length = len(WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.XPATH, "//table[@border='1']//a"))))
for index in range(my_list_length):
    WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.XPATH, "//table[@border='1']//a")))[index].click()
    driver.back() #to go back to th initial page

推荐阅读