当前位置: 首页 > news >正文

Selenium之Web Driver常用属性

Web Driver常用属性

在上一篇文章里我们安装并且使用了selenium来操控浏览器;这一节我们来看一下Driver的一些常用属性;可以方便和浏览器进行交互

废话不多说,下面以实践为主

获取浏览器名称
browser_name = browser.name
print(browser_name) # Chrome
获取当前url
# 这里看到我url后面进行了一系列操纵
# 这是因为URL 包含 Punycode 编码(xn--开头的域名),这是国际域名(IDN)的 ASCII 表示形式。
# 要将其显示为原始的中文字符,可以使用 Python 的 idna 编码进行转换。
url = browser.current_url
print(url)  # http://www.xn--6frwj470ei1s2kl.com/demo
parts = url.split('.')
decoded_parts = [x.encode('utf-8').decode('idna') if x.startswith('xn--') else x for x in parts]
decoded_domain = '.'.join(decoded_parts)
print(decoded_domain) # http://www.自动化测试.com/demo
# print(url.split('.')[1].encode('utf-8').decode('idna'))  # 自动化测试

当前页面标题
title = browser.title
print(title)  # 山豆根行者的自动化测试网站
当前页面源码
source = browser.page_source
print(source)
获取窗口句柄
handle = browser.window_handles
print(handle) # ['9287637A73250FBAFA7CC7D13AE61847']
浏览器后退
这里看到我用了sleep(6),意思就是暂停6s;在运行下一个代码,方便大家看出来效果

browser.back()
time.sleep(6)
浏览器前进
time.sleep(6)
浏览器刷新
browser.refresh()
time.sleep(6)
浏览器关闭当前窗口
# js模拟打开第二个标签页
browser.execute_script("window.open('https://www.python.org');")
time.sleep(6)
# 打印句柄
handle = browser.window_handles
print(handle)
# 切换句柄到第一个并关闭
browser.switch_to.window(handle[0])
time.sleep(6)
browser.close()
退出浏览器
browser.quit()
获取窗口大小
# 分别获取
width = browser.get_window_size()['width']
print(width)
height = browser.get_window_size()['height']
print(height)
print('-'*15)
# 存储尺寸后在查询
size = browser.get_window_size()
width_1 = size['width']
height_1 = size['height']
print(width_1)
print(height_1)
设置窗口大小
browser.set_window_size(1024, 768)
最大化窗口
browser.maximize_window()
最小化窗口
browser.minimize_window()

相关文章:

  • WPF ContentPresenter详解2
  • Docker-清理容器空间prune
  • 顺序表(C语言源码详解,附加测试代码)
  • 波斯白板(Persian Whiteboard)
  • MFC中如何判断一个窗口当前状态是显示还是隐藏
  • Python 异常处理完全指南
  • 基于YOLOv8深度学习的PCB缺陷检测识别系统【python源码+GUI界面+数据集+训练代码+登录界面】
  • [AI绘图] ComfyUI 中自定义节点插件安装方法
  • 雕琢健康生活,奏响养生乐章
  • 使用Geotools从DEM数据中读取指定位置的高程实战
  • 【图论】网络流算法入门
  • 初阶7 vector
  • Mybatis错误resultMap must match
  • [思路提供]Mysql主从复制时的网络延迟很高,如何调整MySQL复制参数
  • Conda命令合集【更新ing】
  • C语言基础要素(018):循环控制:break与continue
  • leetcode0525. 连续数组-medium
  • Linux shift 命令使用详解
  • C++中使用ShellExecute函数调用其他窗口程序时,参数设置为隐藏,后续能通过发消息给这个被调用程序显示,能显示出来窗口吗
  • 汽车加气站操作工证书报考条件是什么?
  • 挑大梁!一季度北上广等7省份进出口占外贸总值四分之三
  • 长三角铁路持续迎五一出行高峰:今日预计发送旅客418万人次
  • 对谈|《对工作说不》,究竟是要对什么说不?
  • 湖北鄂州通报4所小学学生呕吐腹泻:供餐企业负责人被采取强制措施
  • 五一去哪儿| 追着花期去旅行,“赏花经济”绽放文旅新活力
  • 李铁案二审今日宣判