selenium.句柄、多窗口操作(handle)

多窗口操作主要有以下关键方法:

webdriver.current_windouw_handle:获取当前页面的句柄

webdriver.windows_handles:获取所有句柄

switch_to.window():切换句柄

 

在前程无忧做个练习,效果入GIF:

 

复制代码
from selenium import webdriver
from time import sleep

# 第一步:获取当前页面的句柄
driver = webdriver.Chrome()
url = "https://www.51job.com/"
driver.get(url)
now_windows = driver.current_window_handle
print(now_windows)
sleep(2)

# 第二步:打开另一个窗口,获取所有句柄
driver.find_element_by_link_text("招聘信息").click()
all_windows = driver.window_handles
sleep(2)

# 第三步:来回切换窗口并输入文本
print(all_windows)
driver.switch_to.window(all_windows[1])
driver.find_element_by_xpath('//*[@id="kwdselectid"]').send_keys("软件测试")
sleep(1)
driver.switch_to.window(all_windows[0])
driver.find_element_by_id("kwdselectid").send_keys("自动化测试")

sleep(2)
driver.quit()
复制代码

 

posted @   yonugleesin  阅读(1049)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示
主题色彩