python爬虫测试

news/2025/9/21 21:13:20/文章来源:https://www.cnblogs.com/liqi77gg/p/19104161

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.mzph.cn/news/909054.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

广二联考题解补全计划:

第十七套: T1:取模性质,倍增 T2: DP优化,状态优化 T3:容斥原理,数位DP T1: 首先先提一个关于取模的性质,一个数对一个比它小的数取模,大小一定减半,考虑对 $ \frac {n}{2}$ 分治即可。 我们先预处理出来每个数…

如何在 C# 中将文本转换为 Word 以及将 Word 转换为文本 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Chapter 8 Contour / Shape Detection

def getContours(img):contours, hierarchy = cv2.findContours(img, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)for cnt in contours:area = cv2.contourArea(cnt)print(area)if area > 500:# -1 代表所有的轮廓c…

【左程云算法笔记016】双端队列-双链表和固定数组实现 - 教程

【左程云算法笔记016】双端队列-双链表和固定数组实现 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Cons…

LeetCode 几道 Promises 和 Time 的题目 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

[硬件电路-232]:FET(场效应管)的核心机制是通过栅极电压调控半导体“沟道“中的载流子浓度与分布,进而控制源极与漏极之间的电流大小 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

java相关问题:面向对象入门2与类的识别

1. 关于 static 修饰符 应该用 static 修饰的方法: *不依赖于特定对象的实例状态:执行的操作不访问或修改对象的实例变量。 *工具类方法:常用于定义工具类中的方法,这些方法提供通用功能,无需创建类实例。 *工厂方…

EXCEL自动调整列宽的快捷键

在 Excel 中,自动调整列宽的快捷键是:Windows 系统:先选中要调整的列(可选中单列或多列),然后按下 Alt + H + O + I(依次按下这些键)。 Mac 系统:先选中要调整的列,然后按下 Command + Option + H + O + I。…

【C++实战⑬】解锁C++文件操作:从基础到实战的进阶之路 - 实践

【C++实战⑬】解锁C++文件操作:从基础到实战的进阶之路 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Co…

破解塔吊顶升高危难题!让事故率降 50%、审批快 70%

在建筑施工领域,塔吊顶升作业作为关键且高危的环节,长期以来饱受诸多痛点的困扰,严重影响施工安全与进度。传统模式下,人工对塔吊顶升作业的审查多依赖现场巡检,然而人力有限,在忙碌的施工现场,难以做到时刻紧盯…

logicFlow________文档2

# LogicFlow 官方指南 - 自定义连线与事件处理## 📖 概述LogicFlow 是滴滴开源的一款流程图编辑框架,具有强大的扩展性和自定义能力。本文档基于LogicFlow官网最新版本,详细介绍如何实现自定义连线、自定义事件处理…

CF2086D Even String

题目链接:Problem - D - Codeforces 本身是一道数学题,我们可以把字符串中的奇数项和偶数项分开,形成两条序列 A 和 B。易知一种字母一定在同一条序列上。 假如说在 A 序列上分配了 \(a,b,c\) 三种字母,\(sum = c_…

logicflow___文档3

# LogicFlow 流程图编辑器开发文档## 📖 概述这是一个基于 LogicFlow 的流程图编辑器完整开发指南,包含详细的代码示例和实现方案。该编辑器支持节点创建、连接线绘制、关系管理等功能。## 🚀 快速开始### 1. 安装…

langraph-up-react

langraph-up-react https://github.com/fanqingsong/langraph-up-reactLangGraph ReAct Agent TemplateThis template showcases a ReAct agent implemented using LangGraph, works seamlessly with LangGraph Studio…

2025年运营商API安全建设最佳实践:某头部省级电信案例解析与方案推荐

2025年运营商API安全建设最佳实践:某头部省级电信案例解析与方案推荐运营商API安全需应对资产可视性缺失、动态风险防护不足、合规压力三大挑战。全知科技(Data-Sec)知影-API风险监测系统通过“规则引擎+AI引擎”双轮…

软件工程第二次作业-第一次个人编程作业

个人编程作业项目 内容这个作业属于哪个课程 [软件工程](首页 - 计科23级12班 - 广东工业大学 - 班级博客 - 博客园)这个作业要求在哪里 [作业要求](个人项目 - 作业 - 计科23级12班 - 班级博客 - 博客园)这个作业的目…

面向对象入门2与类的识别

一、什么样的方法应该用static修饰?不用static修饰的方法往往具有什么特性?Student的getName应该用static修饰吗?static 修饰方法的适用场景应该用 static 修饰的方法:方法与对象的状态无关,只依赖传入的参数完成…

202508_天山固网_to

流量分析,dvorak键盘解码, 大小写转二进制, BIN2QRCODETags:流量分析,dvorak键盘解码,大小写转二进制,BIN2QRCODE 0x00. 题目 【天山固网——2025网络安全技能竞赛】 children of stream 附件路径:https://pan.baid…

Java学生信息管理系统代码分析

Java学生信息管理系统代码分析学生信息管理系统代码分析 功能讲解 数据处理 该程序主要处理学生信息数据,包括学生的姓名、年龄、性别、学号、专业和 GPA 等信息。这些数据通过Student类的对象进行封装,并存储在Stud…

ArcGIS Pro中 Nodata和nan 黑边的处理 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …