我搜索了这个问题,并使用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的窗口上方。有人有什么主意吗?
可能有一些错误。
当你用了两个 webdriver的 情况下,作为 驱动1 和 驱动2 分别openthe网址https://www.google.com(如窗口A)和https://www.bing.com/(如窗口B)这是值得一提的是,函数switch_to.window()是 WebDriver 方法。因此, 驱动1 只能控制 窗口A 和 驱动2 只能控制 窗口B 。
switch_to.window()
为了使 Selenium 与任何 浏览窗口 进行交互, Selenium 需要 重点关注 。所以迭代不同之中 浏览窗 可以将重点转移到不同的 浏览窗口 使用 JavascriptExecutor 如下:
((JavascriptExecutor) driver1).executeScript("window.focus();"); ((JavascriptExecutor) driver2).executeScript("window.focus();");