尝试使用 Selenium 的 WebDriver 在单独的选项卡中打开多个网站可能会显着减慢速度缩短执行时间。这是因为使用 PhantomJS 为每个网站创建一个新的 WebDriver 实例可能需要长达 3.5 秒的时间,从而导致效率低下。
要克服这一挑战,您可以利用 JavaScript 的 window.open( ) 功能。这允许您创建新选项卡,而无需额外的 WebDriver 实例。以下是实现此目标的方法:
from selenium import webdriver driver = webdriver.Firefox() driver.get("http://google.com") # Open a new tab driver.execute_script("window.open('https://stackoverflow.com')") # Switch focus to the new tab driver.switch_to.window(driver.window_handles[-1]) # Perform your desired actions on the new tab # ... # Close the current tab and switch back to the previous one driver.close() driver.switch_to.window(driver.window_handles[0]) # Continue your script as needed # ...
通过使用此方法,您可以高效地打开多个选项卡,而不会产生创建额外 WebDriver 实例的开销,从而显着提高性能。
以上是如何使用Selenium和Python在新选项卡中高效打开多个网页?的详细内容。更多信息请关注PHP中文网其他相关文章!