【问题标题】:How to loop through multiple Chrome browser tabs with Selenium and Python? [duplicate]如何使用 Selenium 和 Python 循环浏览多个 Chrome 浏览器选项卡? [复制]
【发布时间】:2020-09-14 16:52:08
【问题描述】:

我正在使用 Selenium Web 驱动程序和 Python。我如何循环浏览多个打开的 Chrome 浏览器选项卡并在每个页面上停留 30 秒,然后循环回第一个 URL 并一遍又一遍地进行迭代?我可以打开标签/指定所需的 URL。但是我无法弄清楚循环遍历每个选项卡

#import from selenium driver
from selenium import webdriver
#import from use of Key actions && Action chains (commands) from selenium driver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
import time


#designate each URL to be opened
url_1 = 'https://www.google.com/'
url_2 = 'https://github.com/'
url_3 = 'https://www.kaggle.com/'

#designate webdriver as chrome
driver = webdriver.Chrome()

#open 1st URL in first tab
driver.get(url_1)

#wait 
driver.implicitly_wait(15)

#open new window (tab 2) and switch over to it
driver.execute_script("window.open('');")
driver.switch_to.window(driver.window_handles[1])

#open 2nd URL in current tab
driver.get(url_2)

#wait 
driver.implicitly_wait(15)

#open new window (tab 3) and switch over to it
driver.execute_script("window.open('');")
driver.switch_to.window(driver.window_handles[2])

#open 3rd URL in current tab
driver.get(url_3)

#wait 
driver.implicitly_wait(15)

感谢您的任何&&所有帮助

【问题讨论】:

  • 这不是重复的问题。链接的重复问题是关于打开一个选项卡,这个问题是关于循环所有选项卡。

标签: python selenium google-chrome selenium-webdriver


【解决方案1】:

一次打开​​所有标签, 然后你应该计算你拥有的标签。 然后在每个上循环:

 cnt = len(driver.window_handles)
 for x in range(cnt):
     driver.switch_to.window(driver.window_handles[x])
     sleep(30) #30sec

【讨论】:

  • 非常感谢!!我不能投票,因为我的声望低于 15。但是你的回答很完美,谢谢!!
  • driver.window_handles 包含我自己的窗口句柄(selenium 3.141.0)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-15
  • 2018-08-14
  • 1970-01-01
相关资源
最近更新 更多