🚡

Selenium

 

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