我搜索了这个问题,并使用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)
可能有一些错误。
当你用了两个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();");
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句