selenium 是一个 web 的自动化测试工具。
这里简单总结了一些selenium 常用的方法。
一. selenium中 webdriver 模块的常用方法
- set_window_size() 设置浏览器的大小
- back() 控制浏览器后退
- forward() 控制浏览器前进
- refresh() 刷新当前页面
- close() 关闭当前页面,如果只有一个页面,会关闭浏览器
- quit() 关闭浏览器
- clear() 清除文本
- send_keys (value) 模拟按键输入
- click() 单击元素
- submit() 用于提交表单
- get_attribute(name) 获取元素属性值
- is_displayed() 设置该元素是否用户可见
- size 返回元素的尺寸
- text 获取元素的文本
- get_cookies() 获取页面Cookies值
- delete_all_cookies() 删除Cookies
- switch_to_alert() 切换到弹窗
- switch_to.window() 切换到某个窗口
二. 定位元素的8种方式
2.1定位一个元素
1. find_element_by_id 通过元素id定位
2. find_element_by_name 通过元素name定位
3. find_element_by_xpath 通过xpath表达式定位
4. find_element_by_link_text 通过完整超链接定位
5. find_element_by_partial_link_text 通过部分链接定位
6. find_element_by_tag_name 通过标签定位
7. find_element_by_class_name 通过类名进行定位
8. find_elements_by_css_selector 通过css选择器进行定位__
2.2定位多个元素
1.find_elements_by_id 通过元素id定位
2.find_elements_by_name 通过元素name定位
3.find_elements_by_xpath 通过xpath表达式定位
4.find_elements_by_link_tex 通过完整超链接定位
5.find_elements_by_partial_link_text 通过部分链接定位
6.find_elements_by_tag_name 通过标签定位
7.find_elements_by_class_name 通过类名进行定位
8.find_elements_by_css_selector 通过css选择器进行定位
三. 页面等待
因为现在的网页越来越多采用了 Ajax 技术,程序便不能确定何时某个元素是否完全加载出来,给元素定位造成一定问干扰与不便,所以 Selenium 提供了两种等待方式,一种是隐式等待,一种是显式等待,等待定位的元素是否出现,在执行需要的操作!
3.1显示式等待
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait # WebDriverWait 库,负责循环等待
from selenium.webdriver.support import ex