- Selenium Webdriver 教程
- 家
- 介绍
- 安装
- 浏览器导航
- 识别单个元素
- 识别多个元素
- 显式等待和隐式等待
- 弹出窗口
- 向后和向前导航
- cookie
- 例外情况
- 动作类
- 创建基本测试
- 形式
- 拖放
- 视窗
- 警报
- 处理链接
- 处理编辑框
- 颜色支持
- 在 Python 中生成 HTML 测试报告
- 从 Excel 读取/写入数据
- 处理复选框
- 在多个浏览器中执行测试
- 无头执行
- 等待支持
- 选择支持
- JavaScript 执行器
- Chrome WebDriver 选项
- 滚动操作
- 捕获屏幕截图
- 右键点击
- 双击
- Selenium Webdriver 有用资源
- Selenium WebDriver - 快速指南
- Selenium WebDriver - 有用的资源
- Selenium WebDriver - 讨论
Selenium Webdriver - Windows
单击链接或按钮即可打开新的弹出窗口或选项卡。默认情况下,webdriver 具有对主页的控制权,为了访问新窗口上的元素,必须将 webdriver 控件从主页切换到新的弹出窗口或选项卡。
方法
下面列出了处理新窗口的方法 -
driver.current_window_handle - 获取焦点窗口的句柄 ID。
driver.window_handles - 获取所有打开的窗口句柄 ID 的列表。
driver.swtich_to.window(<窗口句柄 id>) - 将 webdriver 控件切换到打开的窗口,其句柄 id 作为参数传递给该方法。
单击“单击此处”链接时,将打开一个新选项卡,其浏览器标题为“新窗口”。让我们尝试切换到新选项卡并访问其中的元素。
代码实现
打开新窗口的代码实现如下 -
from selenium import webdriver driver = webdriver.Chrome(executable_path='../drivers/chromedriver') #implicit wait time driver.implicitly_wait(5) #url launch driver.get("https://the-internet.herokuapp.com/windows") #identify element s = driver.find_element_by_link_text("Click Here") s.click() #current main window handle m= driver.current_window_handle #iterate over all window handles for h in driver.window_handles: #check for main window handle if h != m: n = h #switch to new tab driver.switch_to.window(n) print('Page title of new tab: ' + driver.title) #switch to main window driver.switch_to.window(m) print('Page title of main window: ' + driver.title) #quit browser driver.quit()
输出
输出显示消息 - Process with exit code 0 表示上述 Python 代码执行成功。首先,新选项卡的页面标题(从方法标题获得) - 新窗口打印在控制台中。接下来,将 webdriver 控件切换到主窗口后,其页面标题 - The Internet 将打印在控制台中。