[selenium]浏览器基本操作
前言
- 版本:
- python:3.9
- selenium:4.1.5
- 浏览器:firefox
创建浏览器对象
from selenium import webdriver
driver = webdriver.Firefox(executable_path=r"C:\software\selenium\geckodriver.exe")
打开网页
# 打开在线网页
driver.get("https://www.baidu.com")
# 打开离线网页
driver.get('file:///C:/File/index.html')
退出浏览器
# 关闭当前由selenium打开的浏览器窗口
driver.close()
# 关闭所有由selenium打开的浏览器窗口
driver.quit()
设置窗口大小
# 窗口最大化
driver.maximize_window()
# 网页全屏
driver.fullscreen_window()
# 指定大小
driver.set_window_size(500,400)
设置窗口位置
# 指定横纵坐标
driver.set_window_position(x=500,y=400)
# 同时指定坐标和大小
driver.set_window_rect(x=30,y=30,width=450,height=450)
获取窗口位置和大小
# 获取窗口位置
window_pos = driver.get_window_position()
# 获取窗口大小
window_size = driver.get_window_size()
浏览器导航
- 返回到前一个页面
driver.back()
- 前进到下一个页面(如果没有返回,就没有前进)
driver.forward()
- 刷新
driver.refresh()
鼠标操作
- 假设惯用手是右手,单击指左键单击
# 左键单击
elem = driver.find_element(...).click()
# 左键单击并按住
button = driver.find_element(...)
webdriver.ActionChains(driver).click_and_hold(button).perform()
# 右键单击
webdriver.ActionChains(driver).context_click(button).perform()
# 左键双击
webdriver.ActionChains(driver).double_click(on_element=button).perform()
# 移动光标但不点击
from selenium.webdriver.common.action_chains import ActionChains
ActionChains(driver).move_to_element(button).perform()
# 拖拽
src_elem = find_element(...)
des_elem = find_element(...)
ActionChains(driver).drag_and_drop(src_elem,des_elem).perform()
# 松开点击。点按 -> 拖拽 -> 松开
ActionChains(driver)\
.click_and_hold(src_elem)\
.move_to_element(des_elem)\
.perform()\
.release()\
.perform()
键盘操作
# 上、下、输入
from selenium.webdriver.common.keys import Keys
ActionChains(driver)\
.key_down(Keys.CONTROL)\
.send_keys("qwer")\
.key_up(Keys.CONTROL)\
.key_down(Keys.CONTROL)\
.send_keys("asdf")\
.key_up(Keys.CONTROL)\
.perform()
本文来自博客园,作者:花酒锄作田,转载请注明原文链接:https://www.cnblogs.com/XY-Heruo/p/16288006.html