Python-Selenium-WerDriver 看这一篇就够了!!!

WebDriver介绍:

        WebDriver又被称之为浏览器驱动,它是各大浏览器开发商配套开发的,用于自动化驱动浏览器的工具,它并不是Selenium开源库的一部分。只是Selenium通过W3C协议去控制了WebDriver,从而实现了对浏览器的控制。

        WebDriver的版本与浏览器是一一对应的 (火狐除外),一旦浏览器的版本更新,而未能及时更新WebDriver,就会导致selenium脚本无法工作。(这东西是真恶心!)

        接下来N个方法告诉大家如何解决这个问题。


Selenium自动下载驱动:

        在Selenium 4.6版本之后,你就无需再操心WebDriver相关的问题,Selenium添加的Selenium Manager模块会自动下载并更新与当前环境浏览器对应的驱动,此为它还能下载指定版本的浏览器,如果用不了大概率是网络问题,请上科技。

对此模块感兴趣可以看下面翻译的官方文档↓↓↓:

        Selenium Manager (Beta) 手册-官方翻译-优快云博客

 Selenium 4.6 之前:

def setup_without_selenium_manager():
    chrome_service = Service(executable_path='path/to/chrome.exe')
    driver = webdriver.Chrome(chrome_service)
    return driver

  Selenium 4.6 之后:

def setup_with_selenium_manager():
    driver = webdriver.Chrome()
    return driver

  更新Selenium版本到4.6即可自动解决相关问题,这里只展示了Chrome相关,其余浏览器同理。


使用第三方库下载驱动:

使用WebDriver_Manager下载驱动:

1、安装:

pip install webdriver_manager

2、下载方法:

from webdriver_manager.firefox import GeckoDriverManager
from webdriver_manager.microsoft import IEDriverManager
from webdriver_manager.microsoft import EdgeChromiumDriverManager
from webdriver_manager.opera import OperaDriverManager

# 1.火狐FireFox
GeckoDriverManager().install()
# 2.微软IE
IEDriverManager().install()
# 3.微软Edge
EdgeChromiumDriverManager().install()
# 4.欧朋opera
OperaDriverManager().install()

  3、配置

from selenium.webdriver.chrome.service import Service as ChromeService

service = ChromeService(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service)

  4、注意:

1、ChromeDriverManager().install()返回的是一个下载地址,你可以直接print它获取。
2、这玩意吃网络,如果你的电脑网络访问github有问题,那它可能-大概-也许-完全无法使用。

手动下载驱动和配置:

>>> 谷歌 - ChromeDriver <<<

113-最新版本的浏览器对应驱动点这里 (格式化Json 找路由下) ↓↓↓

googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json

老本版本-114之前的驱动点这里 ↓↓↓

chromedriver.storage.googleapis.com/index.html


>>> 火狐 - GekoDriver: <<<

全版本驱动下载点这里 (点版本号)↓↓↓

Releases · mozilla/geckodriver

Firefox 浏览器历史版本下载点这里 ↓↓↓

Directory Listing: /pub/firefox/releases/

Firefox 与 geckodriver 版本对应关系

geckodriver 版本支持的 Firefox 版本支持的 Selenium 版本
0.34.0Firefox 135+Selenium 4.11+
0.33.0Firefox 130-134Selenium 4.10+
0.32.0Firefox 125-129Selenium 4.9+
0.31.0Firefox 120-124Selenium 4.8+
0.30.0Firefox 115-119Selenium 4.7+
0.29.0Firefox 110-114Selenium 4.6+
0.28.0Firefox 105-109Selenium 4.5+
0.27.0Firefox 100-104Selenium 4.4+
0.26.0Firefox 95-99Selenium 4.3+
0.25.0Firefox 90-94Selenium 4.2+
0.24.0Firefox 85-89Selenium 4.1+
0.23.0Firefox 80-84Selenium 4.0+
0.22.0Firefox 75-79Selenium 3.14+
0.21.0Firefox 70-74Selenium 3.14+
0.20.1Firefox 65-69Selenium 3.5+
0.19.1Firefox 60-64Selenium 3.5+
0.18.0Firefox 55-59Selenium 3.4+
0.17.0Firefox 50-54Selenium 3.4+

>>> 微软Edge - Microsoft Edge WebDriver <<<

Edge驱动历史驱动下载点这里↓↓

Microsoft Edge - Webdriver

Edge浏览器正式版没有历史版本,企业版点击下面下载↓↓↓

下载和部署 Microsoft Edge 企业版

>>> 微软IE - IEDriverServer <<<

http://selenium-release.storage.googleapis.com/index.html

应该没人想找IE的历史版本吧,毕竟都退出历史舞台了。

>>> 苹果 - SafariDriver <<<

    Safari 浏览器驱动已集成在 macOS 系统中,无需单独下载。
    如果需要启用 SafariDriver,可以通过以下步骤:

  1. 打开 Safari 浏览器。

  2. 在菜单栏中选择 Safari > 偏好设置 > 高级,勾选 “在菜单栏中显示开发菜单”

  3. 在 开发 菜单中,选择 允许远程自动化

  4. 使用 Selenium 的 safaridriver 命令行工具进行自动化测试。

>>> 配置 <<<

 selenium 3.0
# 配置 ChromeDriver 路径
from selenium import webdriver
driver = webdriver.Chrome(executable_path='/path/to/chromedriver')


# 配置 GeckoDriver 路径
from selenium import webdriver
driver = webdriver.Firefox(executable_path='/path/to/geckodriver')

# 配置 EdgeDriver 路径
from selenium import webdriver
driver = webdriver.Edge(executable_path='/path/to/msedgedriver')

# 配置 IEDriverServer 路径
rom selenium import webdriver
driver = webdriver.Ie(executable_path='/path/to/IEDriverServer.exe')
  selenium 4.0
# 配置 ChromeDriver 路径
from selenium import webdriver
from selenium.webdriver.chrome.service import Service

service = Service('/path/to/chromedriver')
driver = webdriver.Chrome(service=service)

# 配置 GeckoDriver 路径
from selenium import webdriver
from selenium.webdriver.firefox.service import Service

service = Service('/path/to/geckodriver')
driver = webdriver.Firefox(service=service)

# 配置 EdgeDriver 路径
from selenium import webdriver
from selenium.webdriver.edge.service import Service

service = Service('/path/to/msedgedriver')
driver = webdriver.Edge(service=service)

# 配置 IEDriverServer 路径
from selenium import webdriver
from selenium.webdriver.ie.service import Service

service = Service('/path/to/IEDriverServer.exe')
driver = webdriver.Ie(service=service)

1.1 selenium webdriver学习(一)------------快速开始 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 selenium webdriver学习(二)————对浏览器的简单操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 selenium webdriver学习(三)------------执行js脚本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4 selenium webdriver学习(四)------------定位页面元素 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.5 selenium webdriver学习(五)------------iframe的处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.6 selenium webdriver学习(六)------------如何得到弹出窗口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.7 selenium webdriver学习(七)------------如何处理alert、confirm、prompt对话框 . . . . . . . . .24 1.8 selenium webdriver学习(八)------------如何操作select下拉框 . . . . . . . . . . . . . . . . . . . . . . . . .27 1.9 selenium webdriver学习(九)------------如何操作cookies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1.10 selenium webdriver学习(十)------------如何把一个元素拖放到另一个元素里面 . . . . . . . . . . .31 1.11 selenium webdriver学习(十一)------------如何等待页面元素加载完成 . . . . . . . . . . . . . . . . . .33 1.12 selenium webdriver学习(十二)------------如何利用selenium-webdriver截图 . . . . . . . . . . . .38
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值