一尘不染

如何在Python中使用Selenium在由不同WebDriver打开的不同Chrome浏览器窗口之间切换?

selenium

我搜索了这个问题,并使用driver.switch_to.window()找到了一个主意,但它没有按预期工作:

from selenium import webdriver

driver1=webdriver.Chrome("D:\Python\Files\chromedriver.exe")
driver1.get('https://www.google.com')


driver2=webdriver.Chrome("D:\Python\Files\chromedriver.exe")
driver2.get('https://www.bing.com/')

driver1.switch_to.window(driver1.current_window_handle)

上面的代码将首先打开一个chrome窗口并转到google,然后将打开另一个chrome窗口并转到bing,然后

driver1.switch_to.window(driver1.current_window_handle)

似乎没有用,显示bing的窗口仍显示在显示google的窗口上方。有人有什么主意吗?

driver1.switch_to.window(driver1.current_window_handle)

可能有一些错误。


阅读 618

收藏
2020-06-26

共1个答案

一尘不染

当你用了两个 webdriver的 情况下,作为 驱动1驱动2
分别openthe网址https://www.google.com(如窗口A)和https://www.bing.com/(如窗口B)这是值得一提的是,函数switch_to.window()
WebDriver 方法。因此, 驱动1 只能控制 窗口A驱动2 只能控制 窗口B

为了使 Selenium 与任何 浏览窗口 进行交互, Selenium 需要 重点关注 。所以迭代不同之中 浏览窗
可以将重点转移到不同的 浏览窗口 使用 JavascriptExecutor 如下:

((JavascriptExecutor) driver1).executeScript("window.focus();");
((JavascriptExecutor) driver2).executeScript("window.focus();");
2020-06-26