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

2024-05-13 1360阅读

欢迎来到《小5讲堂》

这是《Python》系列文章,每篇文章将以博主理解的角度展开讲解。

温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!

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

目录

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

      前言

      有时候我们需要爬取一些数据进行分析和测试,

      对于Python而言,selenium插件是爬虫最佳选择,

      本篇文章将简单列一些常见错误和解决方法。

      温馨提示,合理使用爬虫,任何技术都有利有弊,适当就好。

      无执行文件

      代码

      import time
      from selenium import webdriver
      url = '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

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

      错误路径

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

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

      手动下载

      手动下载ChromeDriver(建议使用自动下载模式,简单方便省事)

      可以手动下载ChromeDriver并将其放置在一个你容易访问的地方,比如你的项目文件夹中。

      ChromeDriver官方地址:https://chromedriver.chromium.org/downloads

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

      自动下载

      自动下载ChromeDriver,自动下载并安装与当前系统中已安装的 Chrome 浏览器版本相匹配的 ChromeDriver。这样做的好处是,你无需手动去下载和管理 ChromeDriver 的版本,而是让

      webdriver_manager 库来处理这个任务,确保你使用的 ChromeDriver 版本与 Chrome 浏览器版本兼容。

      先安装,pip install webdriver_manager

      from webdriver_manager.chrome import ChromeDriverManager
      driver = 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

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

        • 报错二

          expected str, bytes or os.PathLike object, not Options

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

          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

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

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

          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版本查看

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

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]