学习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/