我们可以处理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处理登录弹出窗口?我在这里附上了示例屏幕。我如何输入/输入用户名和密码到这个登录弹出/警报窗口?