当前位置: 首页 > 编程笔记 >

如何使用python处理Selenium中的子窗口?

洪国兴
2023-03-14
本文向大家介绍如何使用python处理Selenium中的子窗口?,包括了如何使用python处理Selenium中的子窗口?的使用技巧和注意事项,需要的朋友参考一下

我们可以处理Selenium中的子窗口或选项卡。在使用子窗口时,我们需要始终将浏览器焦点转移到子窗口上,然后对其进行操作。

默认情况下,焦点保持在第一个父窗口上。Selenium中有多种可用的方法,以下列出-

  • current_window_handle

    此方法获取当前窗口的句柄。

语法-

driver.current_window_handle
  • window_handles

    此方法获取当前打开的窗口的所有句柄ID。

语法-

driver.window_handles
w = driver.window_handles[2]

上面的代码提供了在当前会话中打开的第二个窗口的句柄ID。

  • switch_to.window(args)

    此方法将Selenium的焦点切换到参数中提到的窗口名称。

语法-

driver.switch_to.window(childwindow)

上面的代码将焦点切换到子窗口句柄。

示例

带子窗口的代码实现。

from selenium import webdriver
driver = webdriver.Chrome(executable_path="C:\\chromedriver.exe")
# to maximize the browser window
driver.maximize_window()
#get method to launch the URL
driver.get("https://the-internet.herokuapp.com/windows")
#to refresh the browser
driver.refresh()
driver.find_element_by_link_text("Click Here").click()
#prints the window handle in focus
print(driver.current_window_handle)
#to fetch the first child window handle
chwnd = driver.window_handles[1]
#to switch focus the first child window handle
driver.switch_to.window(chwnd)
print(driver.find_element_by_tag_name("h3").text)
#to close the browser
driver.quit()
 类似资料:
  • 问题内容: 这是我的代码: 现在我有下一个错误: 线程“主”中的异常org.openqa.selenium.NoSuchElementException:无法找到ID == txtEnterCptCode的元素(警告:服务器未提供任何堆栈跟踪信息)命令持续时间或超时:404毫秒。 有任何想法吗? 问题答案: 看来您实际上并没有切换到任何新窗口。您应该获得原始窗口的窗口句柄,将其保存,然后获取新窗口

  • 本文向大家介绍如何使用python处理Selenium中的帧?,包括了如何使用python处理Selenium中的帧?的使用技巧和注意事项,需要的朋友参考一下 我们可以处理Selenium中的帧。框架是一个HTML元素,用于将文档保留在页面中的另一个文档中。HTML具有<frame>或<iframe>标记,用于将框架嵌入文档中。 Selenium中有多个API可用于框架。它们在下面列出- swit

  • 第四,切换到第二个窗口,点击金融链接。 以下代码适用于我: 但是当我尝试将顺序更改为任务时: 但是如果我在切换到雅虎选项卡后刷新页面,这只在Chrome驱动程序中工作,而不是在Firefox驱动程序中。

  • 问题内容: 我遇到的一种情况是,单击链接网页会打开一个弹出窗口。并且在弹出窗口打开之后,焦点位于弹出窗口中,并且主窗口被禁用。而且我无法将控件转移到弹出窗口。请看下面的代码。 我无法将控件从父窗口转移到弹出窗口。我知道以下命令。 但是它没有太大帮助。请帮我。 问题答案: 当我需要使用以下弹出窗口,关闭它并返回主窗口时,这是我使用的代码。当然,出于此答案的目的已对其进行了简化。它维护原始窗口(主窗口

  • 如何在selenium(java)中处理sweet alert弹出窗口- 在此处输入图像描述

  • 如何使用Selenium WebDriver处理登录弹出窗口?我在这里附上了示例屏幕。我如何输入/输入用户名和密码到这个登录弹出/警报窗口?