先来看一段代码:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
url = 'http://www.baidu.com'
chrome_options = Options()
driver_path = 'D:\chromedriver-win64\chromedriver.exe'
s = Service(driver_path)
driver = webdriver.Chrome(service=s,options=chrome_options)
driver.get(url)
print('您已成功打开网页')
input('')
当我们运行上面一段代码时,系统会自动启动一个chrome浏览器并打开百度网页。这个就是爬虫最基础的组件之一chromedriver
Chrome for Testing 是专为测试用例打造的一款专用 Chrome 版本,旨在解决这些问题。它不含自动更新功能,已集成到 Chrome 的发布流程中,适用于所有 Chrome 版本。尽可能接近常规 Chrome 的版本化二进制文件,而不会对测试用例产生负面影响。Chrome for Testing 完全出于浏览器自动化和测试目的而设计,不适合日常浏览。
chromedriver
是一个独立的服务器,它实现了 WebDriver 的线协议,用于与运行 Chrome 或 Chromium 的浏览器实例进行通信。简而言之,chromedriver
是 Selenium WebDriver 用于自动化和测试 Chrome 浏览器的关键组件。
当您使用 Selenium 来自动化网页任务时,如填写表单、点击按钮、滚动页面等,您需要一个能与浏览器交互的“桥梁”。这个“桥梁”就是 chromedriver
。chromedriver
负责接收来自 Selenium 的命令,并将其转换为浏览器可以理解的语言,从而执行相应的操作。
在这段代码中,chromedriver
的路径被指定为 D:\chromedriver-win64\chromedriver.exe
。通过 Service
类,这个路径被传递给 Selenium,以便在创建 webdriver.Chrome
实例时能够找到并启动 chromedriver
。
Options
类允许您配置 chromedriver
的各种选项,例如设置窗口大小、禁用图片加载、启用或禁用 JavaScript 等。在这段代码中,虽然创建了一个 chrome_options
实例,但并没有对其进行任何配置,因此它使用了默认设置。
一旦 webdriver.Chrome
实例被创建,您就可以使用 driver.get(url)
来打开指定的网页,并使用其他 Selenium 方法来与页面进行交互。
值得注意的是,chromedriver
的版本必须与您的 Chrome 浏览器版本相匹配,否则可能会出现兼容性问题。因此,在下载和使用 chromedriver
时,请确保您已经选择了与您的 Chrome 浏览器版本相对应的版本。
总之,chromedriver
是 Selenium WebDriver 在与 Chrome 浏览器交互时的关键组件,它使得自动化网页任务和浏览器测试变得可能。