学习Python中Selenium模块的基本用法(4:WebDriver常用属性及函数)

Selenium模块通过WebDriver支持Chrome、Edge、Firefox、IE、Safar等主流浏览器的自动化操作,WebDriver 用于控制 web 浏览器的行为,每个浏览器都有一个特定的 WebDriver 实现(如geckodriver之于Firefox,chromedriver之于chrome),用于处理 Selenium 和浏览器之间的通信。
  WebDriver常用属性及函数如下表所示,后续文章中结合Selenium文档再详细说明及验证对应属性或函数的用法:

序号 名称 说明 分类
1 get(url) 函数,打开指定 URL 浏览器操作
2 close 函数,关闭当前窗口 浏览器操作
3 quit 函数,关闭所有窗口并退出浏览器 浏览器操作
4 back 函数,后退到上一个页面 浏览器操作
5 forward 函数,前进到下一个页面 浏览器操作
6 refresh 函数,刷新当前页面 浏览器操作
7 title 属性,获取当前页面标题 浏览器操作
8 current_url 属性, 获取当前页面 URL 浏览器操作
9 page_source 属性, 获取当前页面源码 浏览器操作
10 switch_to.window(window_name) 函数,切换到指定窗口 窗口和框架操作
11 switch_to.frame(frame_reference) 函数,切换到指定框架(frame) 窗口和框架操作
12 switch_to.default_content 函数,返回默认内容 窗口和框架操作
13 window_handles 属性,获取所有窗口句柄 窗口和框架操作
14 current_window_handle 属性, 获取当前窗口句柄 窗口和框架操作
15 find_element_by_id 函数,通过 ID 查找元素 元素查找方法
16 find_element_by_name 函数, 通过 name 属性查找元素 元素查找方法
17 find_element_by_xpath 函数,通过 XPath 查找元素 元素查找方法
18 find_element_by_link_text 函数,通过链接文本查找元素 元素查找方法
19 find_element_by_partial_link_text 函数, 通过部分链接文本查找元素 元素查找方法
20 find_element_by_tag_name 函数,通过标签名查找元素 元素查找方法
21 find_element_by_class_name 函数,通过 class 名查找元素 元素查找方法
22 find_element_by_css_selector 函数,通过 CSS 选择器查找元素 元素查找方法
23 find_elements_by_* 函数,将上述15~22的函数中的element换为elements,返回所有匹配元素列表 元素查找方法
24 find_element 函数,上述元素查找函数的内部实现,本函数接受两个参数:定位方式(By)和定位表达式,不同定位方式即对应上述查找函数名称后半部分的by方式,本函数还有对应的集合版本find_elements,用于返回所有匹配元素的列表,而不是第一个匹配元素 元素查找方法
25 click 函数,点击元素 元素操作
26 send_keys 函数,向元素发送按键 元素操作
27 clear 函数,清除元素内容 元素操作
28 submit 函数,提交表单 元素操作
29 text 属性, 获取元素文本 元素操作
30 get_attribute 函数, 获取元素属性值 元素操作
31 is_displayed 函数,检查元素是否可见 元素操作
32 is_enabled 函数,检查元素是否可用 元素操作
33 is_selected 函数,检查元素是否被选中 元素操作

参考文献:

1\]https://www.selenium.dev/zh-cn/ \[2\]https://www.selenium.dev/zh-cn/documentation/webdriver/getting_started/ \[3\]https://blog.csdn.net/kk_lzvvkpj/article/details/148610502 \[4\]https://registry.npmmirror.com/binary.html?path=chromedriver/ \[5\]https://chromedriver.chromium.org/

相关推荐
AI攻城狮2 小时前
用 Playwright 实现博客一键发布到稀土掘金
python·自动化运维
曲幽3 小时前
FastAPI分布式系统实战:拆解分布式系统中常见问题及解决方案
redis·python·fastapi·web·httpx·lock·asyncio
孟健18 小时前
Karpathy 用 200 行纯 Python 从零实现 GPT:代码逐行解析
python
码路飞20 小时前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
曲幽1 天前
FastAPI压力测试实战:Locust模拟真实用户并发及优化建议
python·fastapi·web·locust·asyncio·test·uvicorn·workers
敏编程1 天前
一天一个Python库:jsonschema - JSON 数据验证利器
python
前端付豪1 天前
LangChain记忆:通过Memory记住上次的对话细节
人工智能·python·langchain
databook1 天前
ManimCE v0.20.1 发布:LaTeX 渲染修复与动画稳定性提升
python·动效
花酒锄作田2 天前
使用 pkgutil 实现动态插件系统
python