Python - 网页自动化(Selenium)
一、环境准备
1. Selenium安装
命令行安装, cmd命令行输入pip install selenium
pip install selenium
2. 浏览器驱动安装
找到本地chrome的浏览器的版本
查看谷歌浏览器的版本号
下载相应版本的驱动器,chrome浏览器驱动下载
2.1 114及更早版本
下载链接:chromedriver.storage.googleapis.com/index.html
下载完后,解压到python编译器目录(python.exe所在目录)将解压出来的chromedriver.exe放到python编译器目录。
2.2 130及之后版本
下载链接:https://googlechromelabs.github.io/chrome-for-testing/
只有后面status是绿色对勾的才可以下载,只需点击版本名称即可跳转到对应的下载位置。
以正式版为例,将文件的 url 地址复制到浏览器地址栏即可下载。
================================================================
其他浏览器驱动的下载链接:
geckodriver:https://firefox-source-docs.mozilla.org/testing/geckodriver/Support.html
edgedriver:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/#downloads
iedriver:https://selenium-release.storage.googleapis.com/index.html
================================================================
3. selenium原理
对于每一条Selenium脚本,一个http请求会被创建并且发送给浏览器的驱动,浏览器驱动中包含了一个HTTP Server,用来接收这些http请求,HTTP Server接收到请求后根据请求来具体操控对应的浏览器,浏览器执行具体的测试步骤,浏览器将步骤执行结果返回给HTTP Server,HTTP Server又将结果返回给Selenium的脚本,如果是错误的http代码我们就会在控制台看到对应的报错信息。
二、Selenium入门实例
测试代码:
import time
from selenium import webdriver #导入web驱动包
from selenium.webdriver.common.by import By #导入By类
def test1(name):
# 创建浏览器驱动
driver = webdriver.Chrome()
# 浏览器最大化显示
driver.maximize_window()
# 打开网页
driver.get('https://www.baidu.com/')
# 定位输入框
element = driver.find_element(By.ID,"kw")
# 输入文字
element.send_keys("Python")
# 定位按钮并模拟鼠标点击事件
driver.find_element(By.ID, "su").click()
# 延时3秒
time.sleep(3)
# 退出浏览器
#driver.quit()
# 按装订区域中的绿色按钮以运行脚本。
if __name__ == '__main__':
test1('PyCharm')
自动打开谷歌浏览器,自动打开百度,输入框输入“python”点击按钮(百度一下)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通