当前位置: 首页 > 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.jsqmd.com/news/1167/

相关文章:

  • 广二联考题解补全计划:
  • 如何在 C# 中将文本转换为 Word 以及将 Word 转换为文本 - 教程
  • Chapter 8 Contour / Shape Detection
  • 【左程云算法笔记016】双端队列-双链表和固定数组实现 - 教程
  • LeetCode 几道 Promises 和 Time 的题目 - 教程
  • [硬件电路-232]:FET(场效应管)的核心机制是通过栅极电压调控半导体“沟道“中的载流子浓度与分布,进而控制源极与漏极之间的电流大小 - 指南
  • java相关问题:面向对象入门2与类的识别
  • EXCEL自动调整列宽的快捷键
  • 【C++实战⑬】解锁C++文件操作:从基础到实战的进阶之路 - 实践
  • 破解塔吊顶升高危难题!让事故率降 50%、审批快 70%
  • logicFlow________文档2
  • CF2086D Even String
  • logicflow___文档3
  • langraph-up-react
  • 2025年运营商API安全建设最佳实践:某头部省级电信案例解析与方案推荐
  • 软件工程第二次作业-第一次个人编程作业
  • 面向对象入门2与类的识别
  • 202508_天山固网_to
  • Java学生信息管理系统代码分析
  • ArcGIS Pro中 Nodata和nan 黑边的处理 - 指南
  • 怎么屏蔽 ahref.com 上你不想看到的网站链接(垃圾外链)
  • 浅谈字典树
  • go-mapus为局域网地图协作而生
  • 【工具变量】“国家级大数据综合试验区”试点城市DID(2000-2024年) - 教程
  • 《手搓动态顺序表:从数组到自动扩容的华丽转身》 - 详解
  • 板子大全
  • 通过人大金仓数据库的逻辑备份与还原功能实现数据迁移
  • 完整教程:GS1-128(EAN-128)编码构造方式
  • 第十二节:订单普通下单、支付回调、退款、退款回调详解
  • Chapter 7 Color Detection