selenium句柄信息
时间: 2023-11-11 15:02:59 浏览: 43
Selenium中的句柄(handle)是指浏览器窗口的唯一标识符,可以通过句柄来控制不同的浏览器窗口。在Selenium中,可以使用`driver.window_handles`方法获取当前所有窗口的句柄信息,使用`driver.switch_to.window(handle)`方法切换到指定的窗口。
相关问题
selenium 句柄
在Selenium中,一个窗口或标签页被称为一个“句柄”(handle)。可以使用`driver.window_handles`方法获取当前所有窗口的句柄。例如,以下代码将打开一个新窗口并切换到该窗口:
```python
from selenium import webdriver
driver = webdriver.Chrome()
# 在当前窗口打开网页
driver.get('https://www.baidu.com')
# 打开一个新窗口
driver.execute_script("window.open('https://www.google.com');")
# 切换到新窗口
handles = driver.window_handles
driver.switch_to.window(handles[-1])
# 在新窗口中执行操作
print(driver.title)
# 关闭新窗口
driver.close()
# 切换回原来的窗口
driver.switch_to.window(handles[0])
# 在原来的窗口中执行操作
print(driver.title)
# 关闭浏览器
driver.quit()
```
在上面的代码中,`driver.window_handles`方法返回一个列表,其中每个元素都是一个窗口句柄。`driver.switch_to.window()`方法用于切换到指定的窗口。`handles[-1]`表示最后一个窗口的句柄,因为新打开的窗口通常会排在最后。`driver.close()`方法用于关闭当前的窗口。最后,`driver.quit()`方法用于关闭整个浏览器。
python selenium句柄
以下是使用Python和Selenium获取浏览器窗口句柄的方法:
```python
from selenium import webdriver
# 创建浏览器实例
driver = webdriver.Firefox()
# 打开网页
driver.get("http://bj.ganji.com/")
# 获取当前窗口句柄
current_handle = driver.current_window_handle
print(current_handle) # 输出当前窗口句柄
# 点击链接打开新窗口
driver.find_element_by_link_text("招聘求职").click()
# 获取所有窗口句柄
all_handles = driver.window_handles
print(all_handles) # 输出所有窗口句柄
# 切换到新窗口的方法一:判断句柄,不等于当前窗口句柄就切换
for handle in all_handles:
if handle != current_handle:
driver.switch_to.window(handle)
print(driver.title) # 输出新窗口的标题
# 切换到新窗口的方法二:直接切换到list中的第二个句柄
driver.switch_to.window(all_handles[1])
print(driver.title) # 输出新窗口的标题
# 关闭新窗口
driver.close()
```