[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()
posted @ 2022-05-19 11:56  花酒锄作田  阅读(73)  评论(0编辑  收藏  举报