Selenium手动和自动两种方式启动Chrome驱动

这篇具有很好参考价值的文章主要介绍了Selenium手动和自动两种方式启动Chrome驱动。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 自动启动chrome驱动(已经安装了Selenium库和Chrome驱动)

要使用Selenium自动跟随自带的Chrome驱动,你需要首先确保你已经安装了Selenium库和Chrome驱动。然后,你可以按照以下步骤进行操作:

  1. 导入必要的库:
from selenium import webdriver
  1. 创建一个Chrome WebDriver实例:
driver = webdriver.Chrome()

这将自动根据系统中安装的Chrome浏览器版本使用正确的驱动程序。

  1. 使用WebDriver执行自动化操作,例如访问网页、点击元素等:
driver.get("https://www.example.com")  # 访问一个网页示例

# 执行其他自动化操作...

通过调用get()方法,你可以让WebDriver打开指定的URL,并加载对应的页面。

  1. 最后,关闭WebDriver:
driver.quit()

这将关闭浏览器并结束WebDriver的进程。

下面是一个完整示例代码:

from selenium import webdriver

# 创建Chrome WebDriver实例
driver = webdriver.Chrome()

# 访问一个网页示例
driver.get("https://www.example.com")

# 执行其他自动化操作...

# 关闭WebDriver
driver.quit()

你可以根据自己的需求,在执行自动化操作之前和之后,添加相应的代码来修改或扩展操作。

请注意,为了正常运行,你需要安装Selenium库和与你的Chrome浏览器版本匹配的Chrome驱动程序。确保将Chrome驱动程序所在的目录添加到系统的环境变量中,或者在代码中指定驱动程序的路径。

2. 手动启动chrome驱动

如果你想手动指定使用浏览器的驱动程序,可以按照以下步骤操作:

  1. 首先,下载适用于你的Chrome浏览器版本的Chrome驱动程序。你可以从以下链接下载对应的驱动程序:https://sites.google.com/a/chromium.org/chromedriver/downloads

  2. 本地镜像下载驱动地址:https://registry.npmmirror.com/binary.html?path=chromedriver/

  3. 将下载的驱动程序解压缩到一个你希望存放驱动程序的目录中。

  4. 在代码中指定使用特定的驱动程序路径,例如:

from selenium import webdriver

# 指定Chrome驱动程序的路径
driver_path = "path/to/chromedriver"

# 创建Chrome WebDriver实例,并指定驱动程序路径
driver = webdriver.Chrome(executable_path=driver_path)

# 执行自动化操作...

path/to/chromedriver 替换为你实际的驱动程序路径。

  1. 执行其他自动化操作,如访问网页、点击元素等:
driver.get("https://www.example.com")  # 访问一个网页示例

# 执行其他自动化操作...
  1. 最后,关闭WebDriver:
driver.quit()

这样,你就可以手动指定使用浏览器的驱动程序来进行自动化操作了。

请确保下载的驱动程序与你的Chrome浏览器版本匹配,以确保正常运行。

3. 实例

“”"
下载qq到放到指定文件夹
“”"
一、前提

注意:selenium的使用方式和版本有很大的关系,例如selenium版本为3.141.0,会有
find_element_by_id()/ find_element_by_name()/find_element_by_class__name()等八大元素定位的方法
本次演示的selenium版本为4.8.3,故没有上述八大元素的写法,通用写法为:
先导包 from selenium.webdriver.common.by import By
再定位  browser.find_element(By.ID,'kw')/browser.find_element(By.NAME,'wd') 这样的写法

二、操作步骤
1.装包
需要用到的第三方包urllib3、selenium,安装方式例如:pip install selenium
如果需要特定版本,可以镜像安装:

pip install selenium  -i https://pypi.tuna.tsinghua.edu.cn/simple

3.1驱动安装

3.1.1自动安装(使用用外网可以访问的场景)

import time
from selenium import  webdriver
# 需要用到第三方库webdriver_manager
from webdriver_manager.chrome import ChromeDriverManager

browser = webdriver.Chrome(ChromeDriverManager().install())
# 打开网址
browser.get('https://cn.bing.com')
time.sleep(3)

3.1.2 手动安装(适用于无法连接公网时)

import time


from selenium import webdriver
# 定位元素用
from selenium.webdriver.common.by import By
# 模拟回车用
from selenium.webdriver.common.keys import Keys
# 驱动的下载位置:https://registry.npmmirror.com/binary.html?path=chromedriver/
# 下载什么版本的驱动呢?首先查到你浏览器的版本,下载的驱动应为跟你浏览器版本一致或者最接近的版本,在上面链接中通常选择32位的,例如"chromedriver_win32.zip"
# 驱动位置的写法,也和selenium的版本有很大关系
browser = webdriver.Chrome(executable_path=r"D:chromedriver.exe")
# 定义下载的位置
#设置1
options = webdriver.ChromeOptions()
# 更改下载路径
# 如果该路径不存在会自动创建
prefs = {"download.default_directory":'C:\Download_test','download.prompt_for_download':False}

 新加一条,不加载图片
 prefs = {"download.default_directory":'C:\Download_test','download.prompt_for_download':False,"profile.managed_default_content_settings.images":2}

设置2,将创建的下载部分的设置添加到option中
options.add_experimental_option('prefs',prefs)
# 打开网址
# browser.get('https://cn.bing.com/')
# 强制等待3秒
# 最大窗口
browser.maximize_window()
time.sleep(3)

browser.get('https://im.qq.com/pcqq')

驱动下载位置:https://registry.npmmirror.com/binary.html?path=chromedriver/

4.实战技巧

下面三行代码解决:下载过程中出现"此类型的文件可能会损害您的计算机,请问您是选择保留还是舍弃"

browser.command_executor._commands["send_command"] = ("POST", '/session/$sessionId/chromium/send_command')
params = {'cmd': 'Page.setDownloadBehavior', 'params': {'behavior': 'allow', 'downloadPath': "C:\Download_test"}}
command_result = browser.execute("send_command", params)
browser.find_element(By.CLASS_NAME,'download').click()

向下滑动(方法一)

js_button = "window.scrollTo(0,1000) "
browser.execute_script(js_button)
time.sleep(3)

向下滑动(方法二)元素聚焦

time.sleep(3)
try:
    target = browser.find_element(By.XPATH,'//*[@id="app"]/div[4]/div[2]/div[1]/h3')
    browser.execute_script("arguments[0].scrollIntoView();",target)
except:
    pass

time.sleep(100)
browser.quit()

补充
“”"
使用selenium4的痛点:
1.网上资料较少,很多selenium3方法不可用
2.selenium3的下滑页面方法失效
“”"文章来源地址https://www.toymoban.com/news/detail-651677.html

到了这里,关于Selenium手动和自动两种方式启动Chrome驱动的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python Selenium实现自动化测试及Chrome驱动使用

    本文将介绍如何使用 Python   Selenium 库实现 自动化测试 ,并详细 记录 了Chrome驱动的使用方法。 通过本文的指导,读者将能够快速上手使用Python Selenium进行自动化测试。 并了解如何配置和使用Chrome驱动来实现更高效的自动化测试。 一、Python Selenium简介 Python Selenium是一个用于

    2024年02月03日
    浏览(62)
  • Selenium根据Chrome浏览器版本自动下载/更新驱动chromedriver.exe

    个人经常使用到 selenium 来控制浏览器进行相关的操作,但是 Chrome浏览器 经常会自动更新,导致已有的 驱动程序chromedriver.exe 失效,需要重新下载。 以前尝试过禁止Chrome浏览器更新,但是这并不是很好的解决方案。 于是换了个方向,既然Chrome浏览器会自动更新,那么在我使

    2024年02月09日
    浏览(78)
  • selenium UI自动化中文件上传的两种方式

    文件上传是自动化中很常见的一个功能,那么对于文件上传你又有多少了解呢?请往下看 1、被测产品中文件上传的功能非常普遍,一般情况下需要将准备好的文件放在预定的路径下,然后在自动化测试的脚本中,去预置的路径下获取文件即可。 2、selenium UI自动化中文件上传

    2024年02月13日
    浏览(40)
  • Selenium根据Chrome浏览器 版本自动下载/更新驱动chromedriver.exe webdriver_manager库

    Selenium提供了一个webdriver_manager库,可以帮助自动下载和更新Chrome浏览器的驱动程序chromedriver.exe。您可以按照以下步骤操作: 安装webdriver_manager库。可以在命令行或终端中运行以下命令进行安装: 在Selenium Python脚本中,导入webdriver_manager并使用ChromeDriverManager类来创建ChromeDri

    2024年02月16日
    浏览(67)
  • Selenium自动化chrome驱动版本匹配但是调用浏览器失败:Only local connections are allowed. 问题解决

    第一次发现这种情况,驱动版本完全对的上,但是调用 chrome 就提示 Only local connections are allowed. 然后浏览器调用失败报错。 解决方法: 调用 chrome 驱动的时候加个参数 --whitelisted-ips=\\\"\\\" ,值为空就是把所有调入来源都加入白名单。 ips 的全称是 intrusion prevention system ,解释为入

    2024年02月11日
    浏览(45)
  • selenium操作谷歌浏览器,驱动使用最新版113版本,启动程序报403解决方式

    最近我将谷歌浏览器更新到最新版本【113.0.5672.127】,那么我们平时敲代码或者干测试的朋友知道,我们selenium的操作驱动版本也得提升到对应的,不然操作不了,但是我今天将两者都升级到最新版本后,启动程序依旧启动不了,为了解决该问题特有此博客产出,这里是java的

    2024年02月14日
    浏览(77)
  • 驱动程序开发:基于EC20 4G模块自动拨号联网的两种方式(GobiNet工具拨号和PPP工具拨号)

    与EC20 4G模组所需的文件,下载链接,请点击即可   关于 EC20 4G 模块的详细资料请找卖家索要!   EC20 有多种不同的配置,比如全网通纯数据版本、语音版、带 GNSS 版等等,建议大家购买的时候至少要选择全网通数据版,因为我们使用 4G 模块主要还是用于数据通信的。移远

    2023年04月26日
    浏览(48)
  • Selenium 4.11 正式发布--再也不用手动更新chrome driver 了

    Selenium 4.11.0 正式发布了,先来看一下主要特性。 Chrome DevTools支持的版本现在是:v113、v114和v115(Firefox仍然对所有版本使用v85) 通过Selenium Manager支持Chrome For Testing(CfT) Selenium Manager现在可以在PATH或配置的路径上定位driver的二进制文件,检查潜在的不兼容性,并提供更好的

    2024年02月08日
    浏览(48)
  • element文本域禁止手动拉伸、两种方式、textarea

    html css style 标签定义 lang=\\\"scss\\\" scoped none : 紧致拉伸 both : 两者(纵向横向都可以拉伸) horizontal : 水平的(横向拉伸) vertica : 垂直(纵向拉伸) 建议使用样式实现禁止拉伸,当文本域处于禁止输入状态时,使用 element 自带的禁止拉伸方式会影响 resize 的显示。 resize 在文本域禁止输入

    2024年02月12日
    浏览(42)
  • selenium 安装Chrome驱动

    (1)Chrome版本在113之前对应下载的driver:CNPM Binaries Mirror (npmmirror.com)          Chrome版本在113-120对应下载的driver:CNPM Binaries Mirror (2)下载完后,解压,将chromedriver.exe放到         (a)Python的 有Python.exe的文件夹里         (b)安装到Chrome里有chrome.exe的文件夹里

    2024年03月24日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包