如何使用 Python 在 Selenium 中处理多个浏览器窗口
使用 Selenium 自动化时,您可能会遇到出现多个浏览器窗口的情况。由于焦点保留在第一个打开的窗口上,因此在后续窗口中导航或执行操作变得具有挑战性。为了解决这个问题,一个关键方法是 driver.switch_to.window()。
定位窗口名称
与 driver.switch_to.window( ) 需要窗口名称,它适用于窗口句柄。可以使用 window_handles 属性来确定窗口句柄。
如何切换到新窗口
要将焦点切换到新打开的窗口,请按照以下步骤操作:
window_before = driver.window_handles[0]
window_after = driver.window_handles[1]
driver.switch_to.window(window_after)
示例
考虑以下在多个窗口之间导航的代码:
import unittest from selenium import webdriver class WindowHandling(unittest.TestCase): def setUp(self): self.driver = webdriver.Firefox() def test_window_switch(self): driver = self.driver driver.get("http://www.cdot.in") window_before = driver.window_handles[0] driver.find_element_by_xpath("//a[@href='http://www.cdot.in/home.htm']").click() window_after = driver.window_handles[1] driver.switch_to.window(window_after) driver.find_element_by_link_text("ATM").click() driver.switch_to.window(window_before) def tearDown(self): self.driver.close() if __name__ == "__main__": unittest.main()
以上是如何使用 Python 在 Selenium 中的多个浏览器窗口之间切换?的详细内容。更多信息请关注PHP中文网其他相关文章!