selenium自动化浏览器
Selenium 是一个开源的 Web 应用程序自动化测试框架,主要用于模拟用户操作浏览器,支持功能测试、兼容性测试及管理任务自动化。
1.下载浏览器驱动
google:右上角三个点>设置>关于Chrome>查看版本>下载对应的webdriver
下载地址:Chrome for Testing availability
Edge:右上角三个点>设置>关于Microsoft Edge>查看版本>下载对应的webdriver
下载地址:Microsoft Edge WebDriver |Microsoft Edge 开发人员
2.示例代码
import timefrom selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeServiceservice = ChromeService(executable_path=r"chromedriver.exe")
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(service=service, options=options)try:driver.get('https://www.baidu.com/index.htm')time.sleep(5)
except Exception as e:print(e)
finally:driver.quit()
元素定位使用Xpath
find_element(By.XPATH, "xpath_expression") # xpath_expression使用浏览器F12,复制
扩展应用:
配合F12使用
import time
import pyperclip
import pyautogui
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ECservice = ChromeService(executable_path=r"D:\desktop\se\driver\chromedriver.exe")
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(service=service, options=options)try:driver.get('https://www.baidu.com/index.htm')time.sleep(3)# pyautogui.press('F12')# Ctrl + [ / Ctrl + ] 切换开发者工具面板pyautogui.hotkey('ctrl', 'shift', 'c') # 'ctrl', 'shift', 'c' :元素检查模式 'ctrl', 'shift', 'j' :控制台(Console)time.sleep(2)for _ in range(3): # 切换到网络pyautogui.hotkey('ctrl', ']')## WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, "kw")))driver.find_element(By.ID,'kw').send_keys('大熊猫\n')time.sleep(1)pyautogui.hotkey('ctrl', 'f')# 复制文本到剪贴板pyperclip.copy("nicon_10750f3.png")# 粘贴内容pyautogui.hotkey('ctrl', 'v')pyautogui.press('enter')time.sleep(60)
except Exception as e:print(e)
finally:driver.quit()