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

python爬虫测试

0.背景:要下合适自己的驱动,不然都是报错!!

 

你需要完成以下两步:

  1. 检查你的 Chrome 浏览器版本。

    • 打开 Chrome,在地址栏输入 chrome://settings/help
    • 你会看到你的 Chrome 版本号,例如 版本 120.0.6099.110
  2. 下载对应版本的 ChromeDriver

    • 访问新的官方下载地址:Chrome for Testing availability
    • 在页面上找到和你的浏览器版本号最匹配的 chromedriver,然后下载 win64 版本(如果你的系统是64位)。
    • 下载下来的是一个 zip 压缩包,解压后会得到 chromedriver.exe 文件。
  3. 在代码中指定 chromedriver.exe 的路径。
    这是最关键的一步。你需要使用 Service 对象来告诉 Selenium 

  4. chromedriver.exe 在哪里。

    假设你把 chromedriver.exe 解压到了 C:\webdriver 目录下。

1.selenium基本使用:

from selenium import webdriver
# 1. 导入 Service 类
from selenium.webdriver.chrome.service import Service# (2) 创建浏览器操作对象# chromedriver.exe 的路径
path = r'C:\Users\liqi1\Downloads\chromedriver-win64\chromedriver-win64\chromedriver.exe'# 2. 创建一个 Service 对象
service = Service(executable_path=path)# 3. 将 service 对象传递给 webdriver.Chrome
#    注意这里用的是关键字参数 service=...
browser = webdriver.Chrome(service=service)# (3)访问网站
url = 'https://www.jd.com/'
print(f"正在访问: {url}")browser.get(url)# page_source获取网页源码
content = browser.page_source
print("已成功获取网页源码:")
# 为了方便查看,只打印前500个字符
print(content[:500]) # 记得在程序结束时关闭浏览器
browser.quit()

image

image

2.healess无头浏览器启动demo:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Servicedef share_browser():chrome_options = Options()chrome_options.add_argument('--headless')chrome_options.add_argument('--disable-gpu')# path是你自己的chrome浏览器的文件路径# 注意:如果你的Chrome是标准安装,这行通常可以省略,Selenium能自己找到browser_path = r'C:\Program Files\Google\Chrome\Application\chrome.exe'chrome_options.binary_location = browser_path# === 关键改动在这里 ===# 1. 指定你下载的 chromedriver.exe 的路径driver_path = r'C:\Users\liqi1\Downloads\chromedriver-win64\chromedriver-win64\chromedriver.exe'  # <-- !!! 修改这里为你自己的路径 !!!# 2. 创建一个Service对象service = Service(executable_path=driver_path)# 3. 在创建浏览器实例时传入 service 和 optionsbrowser = webdriver.Chrome(service=service, options=chrome_options)return browser# --- 主程序 ---
try:print("正在启动浏览器...")browser = share_browser()url = 'https://www.baidu.com'print(f"正在访问: {url}")browser.get(url)# 打印页面标题,验证是否成功print(f"页面标题是: {browser.title}")except Exception as e:print(f"代码运行出错: {e}")finally:# 确保在程序结束时关闭浏览器if 'browser' in locals():browser.quit()print("浏览器已关闭。")

image

http://www.gsyq.cn/news/9204.html

相关文章:

  • [硬件电路-232]:FET(场效应管)的核心机制是通过栅极电压调控半导体“沟道“中的载流子浓度与分布,进而控制源极与漏极之间的电流大小 - 指南
  • 【C++实战⑬】解锁C++文件操作:从基础到实战的进阶之路 - 实践
  • logicFlow________文档2
  • 软件工程第二次作业-第一次个人编程作业
  • 202508_天山固网_to
  • 怎么屏蔽 ahref.com 上你不想看到的网站链接(垃圾外链)
  • 【工具变量】“国家级大数据综合试验区”试点城市DID(2000-2024年) - 教程
  • 《手搓动态顺序表:从数组到自动扩容的华丽转身》 - 详解
  • 《原子习惯》-读书笔记7
  • 201912_EASER
  • 搜索百科(3):Elasticsearch — 搜索界的“流量明星”
  • 打印机漏洞、匿名协议与AWS安全:一周技术热点解析
  • 2025-09-21 网站前几分钟还运行的好好地,几分钟后查看居然显示文件无法加载,访问首页提示无法访问此网站??!==ssl证书过期+域名解析失效
  • [POI 2004] MOS
  • AI 在教育领域的落地困境:个性化教学与资料隐私的平衡之道
  • 2025-06-10.购买联想thinkpad 16p
  • MySQL的Schema是什么? - 公众号
  • 推动安全研究多元化的10万美元捐赠计划
  • 20250919
  • 完整教程:AI+虚拟仿真开启材料工程专业学习与实践新篇章
  • [NOIP2022] 建造军营 解题报告
  • 123213123
  • ​​[硬件电路-240]:为什么高频信号的电路的处理难度要比直流信号、电频信号处理的难度倍增? - 指南
  • 实用指南:EasyCVR在智慧城市中场景中的核心应用与实践方案
  • 03_Angular的突破性优势
  • 02_Angular现代前端框架的选型逻辑
  • 一堆杂题混刷
  • 2025 CCPC 网络赛
  • 博客园插入bilibili视频
  • 大学园区二手书交易强大的平台(代码+数据库+LW)