当前位置: 首页 > news >正文

【Python】selenium爬虫常见用法和配置,以及常见错误和解决方法

欢迎来到《小5讲堂》
这是《Python》系列文章,每篇文章将以博主理解的角度展开讲解。
温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!

在这里插入图片描述

目录

  • 前言
  • 无执行文件
    • 代码
    • 报错信息
    • 错误路径
    • 手动下载
    • 自动下载
  • 选项配置
  • Chrome入参
  • Selenium介绍
  • 文章推荐

前言

有时候我们需要爬取一些数据进行分析和测试,
对于Python而言,selenium插件是爬虫最佳选择,
本篇文章将简单列一些常见错误和解决方法。
温馨提示,合理使用爬虫,任何技术都有利有弊,适当就好。

无执行文件

代码

import time
from selenium import webdriverurl = 'https://blog.csdn.net/gg_61024956/article/details/138566685?spm=1001.2014.3001.5501'driver = webdriver.Edge()
driver.get(url)time.sleep(2)comment_button = driver.find_element(by=By.ID,value='comment_content')print(comment_button.text)

报错信息

Message: ‘chromedriver’ executable needs to be in PATH. Pleasesee https://chromedriver.chromium.org/home
消息:“chromedriver”可执行文件需要在PATH中。Pleasesehttps://chromedriver.chromium.org/home

在这里插入图片描述

错误路径

很多小伙伴会以为是这个路径,发现是可以运行的,可以自动打开浏览器,但并不能控制浏览器
在这里插入图片描述

手动下载

手动下载ChromeDriver(建议使用自动下载模式,简单方便省事)
可以手动下载ChromeDriver并将其放置在一个你容易访问的地方,比如你的项目文件夹中。
ChromeDriver官方地址:https://chromedriver.chromium.org/downloads
在这里插入图片描述

自动下载

自动下载ChromeDriver,自动下载并安装与当前系统中已安装的 Chrome 浏览器版本相匹配的 ChromeDriver。这样做的好处是,你无需手动去下载和管理 ChromeDriver 的版本,而是让
webdriver_manager 库来处理这个任务,确保你使用的 ChromeDriver 版本与 Chrome 浏览器版本兼容。

先安装,pip install webdriver_manager

from webdriver_manager.chrome import ChromeDriverManagerdriver = webdriver.Chrome(ChromeDriverManager().install())

选项配置

webdriver.chrome.options() 是用于配置 Chrome 浏览器的选项的类。
它允许在启动 Chrome 浏览器时配置各种选项,比如设置浏览器窗口大小、启用或禁用 JavaScript、设置代理等等。
在 Python 中,可以使用 webdriver.Chrome() 类来创建一个 Chrome 浏览器的实例,并通过 options 参数传递 webdriver.chrome.options() 的实例来配置 Chrome 浏览器的选项。
以下是一个示例代码:

from selenium import webdriver# 创建 ChromeOptions 实例
chrome_options = webdriver.ChromeOptions()# 设置选项
chrome_options.add_argument('--headless')  # 无头模式,不打开浏览器界面
chrome_options.add_argument('--disable-gpu')  # 禁用 GPU 加速,防止出现一些问题
chrome_options.add_argument('--window-size=1920,1080')  # 设置浏览器窗口大小# 创建 Chrome 浏览器实例,并传入选项
driver = webdriver.Chrome(options=chrome_options)# 使用浏览器实例进行后续操作
driver.get('https://www.example.com')
  • 报错一

module ‘selenium.webdriver’ has no attribute ‘chromeOptions’

很显然这个是小写的问题chromeOptions这个应该是大写ChromeOptions。
并且由于复制代码原因,0ption,细心的会发现,第一个是数字0而不是字母O
在这里插入图片描述

  • 报错二

expected str, bytes or os.PathLike object, not Options
在这里插入图片描述
driver = webdriver.Chrome(executable_path=ChromeDriverManager().install(),options=options)

Chrome入参

executable_path=默认的ChromeDriver驱动路径
ChromeDriverManager().install(),安装路径

C:\Users\自己电脑名.wdm\drivers\chromedriver\win64\124.0.6367.155\chromedriver-win32/chromedriver.exe

在这里插入图片描述
在这里插入图片描述

Selenium介绍

Selenium 是一个用于自动化网页浏览器操作的工具,它提供了一组工具和库,可以用多种编程语言(如Python、Java、JavaScript等)来控制浏览器进行自动化测试、网页截图、网页数据抓取等任务。
在 Python 中,你可以使用 Selenium WebDriver 来控制浏览器。WebDriver 是一个用于自动化 web 浏览器的工具,它提供了一系列的 API,允许你通过编程来模拟用户在浏览器中的各种操作,比如点击链接、填写表单、提交数据等。
下面是一个简单的示例,演示了如何使用 Selenium WebDriver 在 Python 中打开一个网页:

from selenium import webdriver# 创建一个 WebDriver 对象,这里使用 Chrome 浏览器
driver = webdriver.Chrome()# 打开网页
driver.get("https://www.example.com")# 获取页面标题
print("Page title is:", driver.title)# 关闭浏览器
driver.quit()

文章推荐

【Python】selenium爬虫常见用法和配置,以及常见错误和解决方法

【Python】尝试使用一个不可哈希的数据类型作为哈希表的键,错误提示builtins.TypeError,unhashable type

【Python】AES加解密代码,文章还有加密串等你来解密,等你来挑战

【Python】简单使用C/C++和Python嵌套for循环生成一个小爱心

【Python】Python3 使用selenium模块实现简单爬虫系列一

【Python】Python基础学习之python版本对应MySQL-python版本查看

【Python】Python基础学习之python版本对应pip版本查看

总结:温故而知新,不同阶段重温知识点,会有不一样的认识和理解,博主将巩固一遍知识点,并以实践方式和大家分享,若能有所帮助和收获,这将是博主最大的创作动力和荣幸。也期待认识更多优秀新老博主。

http://www.lryc.cn/news/345268.html

相关文章:

  • minio上传文件失败如何解决
  • Java自动化测试框架--TestNG详解
  • 【分布式 | 第五篇】何为分布式?分布式锁?和微服务关系?
  • JavaScript百炼成仙自学笔记——13
  • 【skill】小米10让app永驻后台
  • 《架构风清扬-Java面试系列第29讲》聊聊DelayQueue的使用场景
  • 说说SpringBoot自动配置原理
  • bash: docker-compose: 未找到命令
  • linux 权限和权限的设置
  • 基于Springboot的旅游管理系统(有报告)。Javaee项目,springboot项目。
  • springboot3项目练习详细步骤(第一部分:用户业务模块)
  • 推荐算法顶会论文博客笔记合集
  • DRM/RESP无法连接linux上redis的原因
  • vim怎么选中多行后在头部插入#(随手记)
  • Objective-C的对象复制与拷贝选项
  • HTML5 中的离线缓存机制,即应用缓存(Application Cache 或 AppCache)已被废弃并正在被逐步移除
  • vue3+ant design实现表格数据导出Excel
  • VBA_NZ系列工具NZ06:VBA创建PDF文件说明
  • Git === Git概述 Git安装
  • Linux diff命令(比较两个文件或目录的内容差异)
  • 从传统到现代:水表的远程抄表革命
  • 视频怎么打水印?6个软件教你快速进行视频水印制作
  • 面试 Java 基础八股文十问十答第二十八期
  • Excel-VBA报错01-解决方法
  • php利用阿里云短信SDK实现短信发送功能
  • 承装(修、试)电力工程施工许可证四级资质可以承接多大的项目?
  • 影像图层调整图像显示效果的色彩参数汇总
  • EasyHPC - PyTorch入门教程【笔记】
  • Node.js里面 Path 模块的介绍和使用
  • 【Linux】Centos7配置JDK