1、初始化浏览器
# 初始化浏览器为chrome浏览器 driver= webdriver.Chrome() # 指定绝对路径的方式(可选) path = r'C:\Users\Gdc\.wdm\drivers\chromedriver\win32\96.0.4664.45\chromedriver.exe' driver= webdriver.Chrome(path)
2、基础用法
【1】访问/关闭页面 driver.get("xxx") drive.close() 【2】设置浏览器大小 driver.set_window_size(500, 500) driver.maximize_window() # 全屏 driver.minimize_window() # 设置窗口最小化 【3】前进后退 driver.back() # 后退 driver.forward() # 前进 【4】获取页面基础属性 title = driver.title # 网页标题 url = driver.current_url # 当前网址 name = driver.name # 浏览器名称 source = driver.page_source # 网页源码
3、元素定位
属性 | 函数 |
class | find_element(by=By.CLASS_NAME, value=‘’) |
xpath | find_element(by=By.XPATH, value=‘’) |
link_text | find_element(by=By.LINK_TEXT, value=‘’) |
partial_link_text | find_element(by=By.PARTIAL_LINK_TEXT, value=‘’) |
tag | find_element(by=By.TAG_NAME, value=‘’) |
css | find_element(by=By.CSS_SELECTOR, value=‘’) |
id | find_element(by=By.ID, value=‘’) |
4、鼠标操作
from selenium.webdriver.common.action_chains import ActionChains
# 流程 actions = ActionChains(driver) # 初始化动作链 ele = driver.find_element_by_xpath('//div[@onmouseover="mOver(this)"]') # 找到元素 actions.move_to_element(ele) #移动鼠标到元素上 actions.xxxxx # 执行的操作 actions.perform() # 触发事件
鼠标事件:
actions.click() | 左键单击 |
actions.click_and_hold() | 点击左键不松开 |
actions.release() | 释放鼠标 |
actions.context_click() | 右键单击 |
actions.double_click() | 左键单击 |
actions.drag_and_drop(source, target) | 拖拽到某个元素然后松开(需要获取到目标位置的元素定位) |
actions.drag_and_drop_by_offset(source, xoffset, yoffset) | 拖拽到某个坐标然后松开(需要获取到目标位置的位置坐标) |
actions.key_down(value) | 按下某个键盘上的键 |
actions.key_up(value) | 松开某个键 |
actions.move_by_offset(xoffset, yoffset) | 鼠标从当前位置移动到某个坐标(需要获取到目标位置的位置坐标) |
actions.move_to_element(to_element) | 鼠标移动到某个元素 |
actions.move_to_element_with_offset(to_element, xoffset, yoffset) | 移动到距某个元素(左上角坐标)多少距离的位置 |
actions.pause(seconds) | 暂停操作(秒),或鼠标移动到某元素上悬停的时间(上上条联合使用) |
5、键盘操作
from selenium.webdriver.common.keys import Keys
inputField = driver.find_element(By.ID, 'searchBox') inputField.send_keys("Selenium") # 键盘操作
键盘事件
send_keys(”string”) | 模拟键盘输入 |
send_keys(Keys.CONTROL, “a”) | 组合键,全选 |
send_keys_to_element(element, *keys_to_send) | 发送某个键到指定元素 |
特殊键
Keys.BACK_SPACE | 删除键 |
Keys.SPACE | 空格键 |
Keys.TAB | 制表符 |
Keys.ESCAPE | ESC |
Keys.ENTER | ENTER |
Keys.CONTRL | CTRL |
Keys.F1 | F1 |
Keys.SHIFT | sift |
‣