http://selenium-python.readthedocs.io/installation.html#introduction
1. 知识点:
- 定位(8大定位)
- click,sendkeys
- select,Drag and drop
- 切换窗口
- 处理alert,alert.accept/dismissed
- back and forward
- 处理cookies
- waits--Explicit Waits:下面的code等待某事件发生才继续进行,举例如下:相对等待
自定义类然后定义__call__(self, driver)方法返回False如果结果不匹配的情况下
Implicit Waits绝对等待,类似sleep,等待一个固定时间
- 上传文件,.sendkeys("文件地址")
- 下载文件
- 保存截图 driver.save_screenshot
2. API
from selenium import webdriver
from selenium.common.exceptions import [TheNameOfTheExceptionClass]
2.1 Action Chains
from selenium.webdriver.common.action_chains import ActionChains
Actions:
- click(on_element=None)点击或点击某个元素
- click_and_hold(on_element=None)长按或长按某个元素
- context_click(on_element=None)右键点击或右键点击某个元素
- double_click(on_element=None)双击或双击某个元素
- drag_and_drop(source, target)拖拽
- drag_and_drop_by_offset(source, xoffset, yoffset)拖拽到某个点
- key_down(value, element=None)按下某键,value为key类的某值,例如key.CONTROL
- key_up(value, element=None)放开某键
- move_by_offset(xoffset, yoffset)把鼠标移动一定距离
- move_to_element(to_element)把鼠标移动到某元素的中心位置
- move_to_element_with_offset(to_element, xoffset, yoffset)把一个元素移动一定距离,以左上角为基准
- perform() ActiveChains最后的实现
- release(on_element=None)释放某个元素
- reset_actions()清除所有存储的动作
- send_keys(*keys_to_send)
- send_keys_to_element(element, *keys_to_send)
2.2 Alerts
from selenium.webdriver.common.alert import Alert
accept()确认
dismiss()取消
authenticate(username, password)输入用户名密码并点击OK
send_keys(keysToSend)向alert输入文字
text得到alert上的文字