📌  相关文章
📜  如何在Python中使用Selenium在窗口之间切换?

📅  最后修改于: 2022-05-13 01:55:34.236000             🧑  作者: Mango

如何在Python中使用Selenium在窗口之间切换?

Selenium是通过程序控制互联网浏览器的有效设备。它适用于所有浏览器,适用于所有基本操作系统,其脚本是用多种语言编写的,例如Python、 Java、C# 等,我们可以使用Python运行。

我们打开大量的窗户是非常可行的。每个窗口可能还需要我们执行一些动作来完成一个停止到停止的流程。为此,我们需要能够在它们之间进行转移。我们想另外交换管理然后做所需的操作,因为在使用默认值的帮助下,兴趣点停留在图形窗口。

要求:

您需要安装 chromedriver 并设置路径。单击此处下载更多信息,请点击此链接。 WebDriver 支持使用“switch_to_window()”方法在这些窗口之间移动。

循序渐进的方法:

如果我们打开多个窗口,那么我们希望打印每个窗口页面的标题,但我们只打印标题的父窗口而不是所有窗口页面的标题。这个问题将通过driver.switch_to_window(")解决。使用这种方法,我们能够打印标题的每一页。

  • 以任何URL
  • 我们想要这个网页的子窗口,然后使用find_element_by_xpath()方法单击任何按钮来查找 XPath。
  • 创建一个句柄变量,用于存储打开的浏览器窗口的所有句柄值
  • 然后使用循环打印网页的所有标题。

执行:

Python3
# import selenium module
from selenium import webdriver
  
# import select class
from selenium.webdriver.support.ui import Select
  
# using chrome driver
driver = webdriver.Chrome()
  
# web page url and open first window page
driver.get("http://demo.automationtesting.in/Windows.html")
  
# find xpath of button for child window page
# this page no. 2
driver.find_element_by_xpath('//*[@id="Tabbed"]/a/button').click()
  
# return all handles value of open browser window
handles = driver.window_handles
for i in handles:
    driver.switch_to.window(i)
  
    # print every open window page title
    print(driver.title)


输出: