python-3.x - 我需要设置一个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 个不同的链接,然后,对于每个链接,我想首先单击它,然后返回上一页上的表。问题是程序在第一次迭代时停止。我能做些什么?
解决方案
你可以试试下面的代码:
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
推荐阅读
- php - laravel 5.7 spatie/permission 如何处理用户类和角色类之间的关系
- python - Pygame 不解释键盘输入
- c# - 如何将此功能添加到我的按钮?
- c# - 网格不会在 StackPanel 内延伸
- javascript - 添加到模块化窗口的链接
- javascript - laravel/JS typeahead 用于两个不同的输入字段
- amcharts - Amcharts 隐藏股票类型的最后日期
- java - 如何根据第一个字符串有两个不同的响应?
- reactjs - 当单元格值为ag-grid-react中的数字时,如何对范围内的行进行分组?
- android - 在没有服务器的情况下在 android 上训练简单模型