1. Selenium库
函数/方法 | 描述 | |
---|---|---|
导入 | from selenium import webdriver | 导入webdriver |
from selenium.webdriver.common.keys import Keys | 导入Keys(模拟提交) | |
from selenium.webdriver.support.ui import Select | 导入Select(填写表格) | |
from selenium.webdriver import ActionChains | 导入ActionChains(元素拖放) | |
启动 | driver = webdriver.Chrome(executable_path=’*\chromedriver.exe’, | 实例化driver |
常用操作 | .get(“url”) | 访问网址 |
.click() | 点击 | |
.submit() | 提交 | |
.page_source | 获取源代码 | |
.current_url | 获取当前页面url | |
提交 | .send_keys(‘something’,Keys.RETURN) | 输入内容并提交 |
.clear() | 清空提交 | |
填写表格 | Select() | |
.select_by_index() | 根据索引来选择 | |
.select_by_visible_text | 根据文本来选择 | |
.select_by_value | 根据值来选择 | |
.deselect_all() | 取消已经选择的元素 | |
.options | 获取所有可选选项 | |
元素拖放 | ActionChains() | |
.drag_and_drop(source,target).perform | 拖拽元素 | |
页面切换 | .switch_to_window() | 切换窗口 |
for handle in driver.window_handles: driver.switch_to_window(handle) | 迭代所有已经打开的窗口 | |
switch_to_frame() | 切换 frame | |
处理弹窗 | driver.switch_to_alert() | 访问对话框 |
访问历史记录 | driver.forward() | 前进 |
driver.back() | 后退 | |
操作Cookies | driver.add_cookie(cookie) | cookie字典 |
driver.get_cookies() | 获取页面 Cookies |
2. Selenium查找方法
函数/方法 | 描述 |
---|---|
find_element_by_name | 通过元素name定位 |
find_element_by_id | 通过元素id定位 |
find_element_by_xpath | 通过xpath表达式定位 |
find_element_by_link_text | 通过完整超链接定位 |
find_element_by_partial_link_text | 通过部分链接定位 |
find_element_by_tag_name | 通过标签定位 |
find_element_by_class_name | 通过类名进行定位 |
find_element_by_css_selector | 通过css选择器进行定位 |
如果要定位的元素有多个,那么可以把element改为elements,这样就可以匹配多个元素了
还可以采用By类来确定哪种选择方式,然后再匹配,By 类的一些属性如下:
ID = “id”
XPATH = “xpath”
LINK_TEXT = “link text”
PARTIAL_LINK_TEXT = “partial link text”
NAME = “name”
TAG_NAME = “tag name”
CLASS_NAME = “class name”
CSS_SELECTOR = “css selector”