失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python win10 捕获 弹出窗口_Selenium-webdriver 系列Python教程(6)————如何捕获弹出窗口...

python win10 捕获 弹出窗口_Selenium-webdriver 系列Python教程(6)————如何捕获弹出窗口...

时间:2022-03-08 02:47:34

相关推荐

python win10 捕获 弹出窗口_Selenium-webdriver 系列Python教程(6)————如何捕获弹出窗口...

在web自动化测试中点击一个链接然后弹出新窗口是比较司空见惯的事情。

webdriver 中处理弹出窗口跟处理 frame 差不多,以下面的 html 代码为例

window.html

click me

下面的代码演示了如何去捕获弹出窗口

#coding:utf-8

__author__='zhangzhe'

fromseleniumimportwebdriver

importtime

importos

#打开Chrome

driver=webdriver.Chrome()

file_path='file:///'+os.path.abspath('windows.html')

driver.get(file_path)

time.sleep(3)

#当前的windowhandle

ch=driver.current_window_handle

driver.find_element_by_link_text("clickme").click()

time.sleep(3)

#所有的windowhandles

wh=driver.window_handles

#在所有窗口中查找弹出窗口

forlineinwh:

ifline!=ch:

driver.switch_to_window(line)

driver.find_element_by_id("kw").send_keys("selenium")

driver.switch_to_window(ch)

捕获或者说定位弹出窗口的关键在于获得弹出窗口的 handle。

在上面的代码里,current_window_handle, 然后使用了window_handles方法获取所有弹出的浏览器窗口的句柄,将这两个值的差值就是新弹出窗口的句柄。

在获取新弹出窗口的句柄后,使用 switch_to_window(line)方法,将新窗口的句柄以Name的方式作为参数传入既可捕获到新窗口了。

如果想回到以前的窗口定位元素,那么再调用1次switch_to_window方法, 传入之前窗口的句柄既可达到目的。

如果觉得《python win10 捕获 弹出窗口_Selenium-webdriver 系列Python教程(6)————如何捕获弹出窗口...》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。