在使用python的selenium库 抓取动态网页时,浏览器内容出现空白的解决方式

反反爬虫(0) :还在用 selenium 裸爬吗? 你已经被盯上了!破解WebDriver反爬虫 使用 Selenium 调用 ChromeSriver 来打开网页,还是与正常打开网页有一定的区别的。现在很多网站都加上了对 Selenium 的检测,来防止一些爬虫的恶意爬取。 大多数情况下,检测的基本原理是检测当前浏览器窗口下的 `window.navigator` 对象是否包含 `webdriver` 这个属性。 阅读详情

转载请标明出处,谢谢~。

我使用的版本:

1、python 3.7 (IDE 用的 pycharm)
2、selenium(通过pip install 安装的最新版本:3.14 时间:2018.9.6 )
3、 geckodriver.exe 21.0
4、firefox 浏览器最新版本(62.0 时间:2018.9.6 )

问题:
向Path添加了位于python37\scripts\的geckodriver 以及 向Path添加了firefox浏览器的安装路径后,运行以下测试代码:

from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
caps = webdriver.DesiredCapabilities().FIREFOX
caps["marionette"] = False
binary = FirefoxBinary(r'C:\Program Files (x86)\Mozilla Firefox\firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary, capabilities=caps,timeout=60)
driver.get("http://www.santostang.com/2018/07/04/hello-world/")

浏览器firefox被打开,但内容是空白的:`
这里写图片描述
关闭浏览器报错:

"The browser appears to have exited "
selenium.common.exceptions.WebDriverException: Message: The browser appears to have exited before we could connect. If you specified a log_file in the FirefoxBinary constructor, check it for details.

之后查了很多资料,花了2h左右,找到了解决方法。下载了一个firefox较低版本 35.0 ,之后完美运行!

firefox 35.0版本下载链接: http://ftp.mozilla.org/pub/firefox/releases/35.0.1/win32/zh-CN/

我的是64位计算机,但完美兼容。

geckodriver下载链接` https://github.com/mozilla/geckodriver/releases

由于防火墙存在,一次性进不去的话,就先进入https://github.com 然后搜索geckodriver 点击Mozilla的链接,这里千万不要点击下载那里的文件,没用的…..(不要问我为什么知道)然后再在浏览器上方的url链接后面补上releases,选择版本下载,最新的也行,关键就是浏览器版本要支持。

` 最后提醒一下,要通过python selenium库使用老版本firefox时,需要提前关闭最新版本 的firefox(要是删掉了就当我没说),不然程序运行不会成功。’

还有什么其他问题请私戳或留言

以上

如何通过 Python + Selenium + BeautifulSoup 爬取动态加载的网页数据 本文介绍了如何利用 Python、Selenium 和 BeautifulSoup 抓取动态加载网页数据的方法。主要内容包括: 前期准备:安装必要的库(Selenium、BeautifulSoup)和配置 WebDriver。 Selenium 初始化:启动浏览器并加载目标网页,获取动态渲染后的 HTML。 BeautifulSoup 解析:提取页面中的结构化数据(如职位名称)。 模拟交互:点击按钮(如“加载更多”)或翻页,抓取动态加载的内容。 优化建议:合理设置延迟、处理 JavaScript 渲染及提升 阅读详情

相关推荐

动态网页爬虫实战:用Selenium抓取JavaScript渲染内容

本文介绍了使用Python和Selenium爬取JavaScript渲染网页的技术方案。Selenium通过驱动真实浏览器,能够有效抓取动态加载内容。文章详细讲解了环境配置、无头浏览器设置、等待机制等技术要点,并提供了新闻列表爬取的实战代码示例。针对常见问题如浏览器驱动不匹配、反爬机制等提供了解决方案,最后展望了Pyppeteer、分布式架构等扩展方向。该方案特别适用于需要模拟用户操作的动态网页数据采集场景。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 432

python selenium 爬取js加载的内容为空,Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容...

1,引言在Python网络爬虫内容提取器一文我们详细讲解了核心部件:可插拔的内容提取器类gsExtractor。本文记录了确定gsExtractor的技术路线过程中所做的编程实验。这是第二部分,第一部分实验了用xslt方式一次性提取静态网页内容并转换成xml格式。留下了一个问题:javascript管理的动态内容怎样提取?那么本文就回答这个问题。2,提取动态内容的技术部件在上一篇python使用x...

weixin_35781147的博客 564

Selenium动态网页爬虫实战:从原理到天气数据抓取完整指南

在数据采集领域,动态网页内容的抓取是常见的技术挑战。其核心原理在于现代网站大量使用JavaScript进行数据渲染,传统的静态请求库无法获取异步加载的内容。为解决这一问题,浏览器自动化技术应运而生,它通过模拟真实用户操作,驱动浏览器执行JavaScript并获取完整渲染后的DOM,从而实现‘所见即所得’的数据抓取。这项技术在需要获取实时、交互式数据的场景中具有重要价值,例如监控价格、采集社交媒体信息或抓取动态更新的天气数据。本文以天气数据抓取为具体案例,深入剖析了Selenium这一主流工具的应用,涵盖了从

weixin_34413802的博客 434

python+selenium 获取元素文本为空None的解决办法

用某8同城练习selenium的时候,有一个"加载更多"的按钮,通常是不可见的.通过selenium获取这个文本内容总是为空 无效方法 1\ text属性 element.text 2\ 虽然在浏览器F12的控制台,可以获取该元素文本内容,但是用selenium发送js获取内容还是为空 有效方法 1\确定元素是否为空 2\解决办法 (1)selenium 只会与可见元素交互,所以获取隐藏元素的文本为空None.可以修改元素相关属性为可见 (2)通过get_attrib...

python3使用unittest进行自动化测试 5634

【已解决】使用selenium启动谷歌Chrome浏览器打开指定网站,页面空白,而使用其它浏览器手动打开该网站则正常

【已解决】使用selenium启动谷歌Chrome浏览器打开指定网站,页面空白,而使用其它浏览器手动打开该网站则正常

c1007857613的专栏 1万+

Selenium自动化测试抓取同样一个系统,有些页面元素都抓取不到

selenium抓取元素时,一定要注意是否有iframe嵌入框架标签

weixin_38225763的博客 502

python3爬虫(8)--动态渲染页面使用Selenium库模拟浏览器抓取数据

在使用Ajax采集数据时,有些Ajax接口含有很多的加密参数,直接很难发现规律。此时,就可以使用模拟浏览器运行的方式来采集。Python 提供了许多模拟浏览器运行的库,如Selenium、Splash、PyV8、Ghost等。 一、模拟浏览器爬取数据Selenium的使用。 1.1、安装准备工作 安装selenium库:pip install selenium (1)、谷歌(Chrome)...

Jalen big data analysis的博客 2633

Claude Code 的 Subagent 到底怎么用?

Subagent是ClaudeCode中的专业化AI代理系统,每个代理专注单一领域(如代码审查、数据库设计),具备独立记忆空间和并行处理能力。适用于中大型项目开发,通过配置文件定义代理职责与权限,可显式调用或自动触发多代理协作。典型场景包括代码安全审查、全栈并行开发和技术方案对比。使用时需注意避免过度拆分、权限过宽等陷阱,结合链式工作流和负载均衡可显著提升效率。实测在电商项目开发中能缩短20%工期并提升40%性能。

bgeyq的博客 1992

快乐学Python,数据分析之使用爬虫获取网页内容

在上一篇文章中,我们了解了爬虫的原理以及要实现爬虫的三个主要步骤:下载网页-分析网页-保存数据。下面,我们就来看一下:如何使用Python下载网页。

我爱娃哈哈的专栏 1940

uniapp | vue2 | vue3 - 解决调用天地图功能服务时 http 网络请求报错 net::ERR ABORTED 503(Service Temporarily Unavailabl)

vue,uni-app,天地图,请求报错,503,请求失败,map.tianditu,天地图503,天地图请求503,接口503错误怎么办,vue天地图,uniAPP天地图,获取定位接口服务器报错503,获取当前定位,定位功能,IP属地定位,天地图服务器报错,如何解决报错,net::ERRABORTED503(ServiceTemporarilyUnavailabl),GET,POST,服务暂时不可用,react天地图,一直等待吗,报错怎么办,定位报错,轨迹,经纬度,天地图服务器503,在vue2

🏆 前端领域优质创作者 4438

AI 时代嵌入式工程师的能力模型与学习路线:全系列收官

AI 时代嵌入式工程师的能力模型与学习路线:全系列收官

weixin_42162924的博客 33

Python爬虫实战:Requests与Selenium详解

本文介绍了网络爬虫的基本概念及Python常用爬虫库。重点讲解了requests和selenium两个库的使用方法:requests库适合简单HTTP请求,可通过get()获取网页内容,支持代理服务器;selenium库能模拟浏览器操作,适合动态网页抓取。文章还强调了爬虫使用规范,需遵守robots.txt协议。通过实例演示了如何用requests获取网页数据和图片,以及用selenium实现动态页面抓取和图片下载。最后指出应根据需求选择合适工具:简单请求用requests,复杂爬虫用scrapy,动态页面

weixin_73958875的博客 1万+

我的python学习之路

Python 是一门功能强大且易于学习的编程语言,广泛应用于数据分析、人工智能、Web 开发、自动化等领域。以下是一个 Python 学习路径的总结,帮助你系统地掌握 Python 编程。

数据知道的博客 3万+

使用python抓取js动态加载的网页

原文地址:http://blog.youkuaiyun.com/lambert310/article/details/49248109 我们在做网页抓取的时候,一般来说使用urllib和urllib2就能满足大部分需求。 但是有时候我们遇见那种使用js动态加载的网页。就会发现urllib只能抓出一个部分内容空白的网页。就像下面百度图片的结果页:

yxwb1253587469的博客 4万+

让 ABAP 再次优雅:全面认知 ABAP Development Tools for SAP HANA(ADT)与可运行示例

本文介绍了ABAP开发工具ADT(ABAP Development Tools for SAP HANA)的核心概念与价值。ADT是基于Eclipse的现代化ABAP集成开发环境,支持ABAP Platform、S/4HANA等后端开发,提供代码编辑、CDS数据建模、质量检查等全流程功能,相比传统SAP GUI具有显著优势。文章详细阐述了ADT与SAP HANA的关系、关键能力模块(如代码重构、CDS建模、质量管控等),并通过一个制造企业案例说明其实际应用场景。最后提供了ADT安装指南和一个完整的ABAP

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 669

YOLO11-Seg优化:卷积变体系列篇 | 动态蛇形卷积(Dynamic Snake Convolution) | ICCV2023

动态蛇形卷积(Dynamic Snake Convolution),增强微小特征提取能力,引入到YOLO11-Seg,与C3k2结合实现二次创新

会AI的学姐 370

Python-爬虫-动态渲染页面抓取-(Selenium)的使用

Ajax形式的请求时JS动态渲染的一种手段,我们可以通过requests和urllib库来实现页面数据抓取,但是js动态渲染页面不仅仅是AJAX一种形式, 有的网页是由JS直接生成的,并非原始HTML,可能还不包含AJAX请求;例如一些报表工具ECharts 官网的实例,图形都是通过JS生成的;例如淘宝页面,即使是AJAX请求数据,但是接口中包含了很多加密参数,我们很难以找到规则,也因此...

weixin_30597269的博客 535

C#版OpenCV:OpenCVSharp 最详细最全面教程(万字详细总结)

OpenCVSharp 是一个用于 .NET 环境的 OpenCV 包装库,它提供了一种简便的方法来利用 OpenCV 的功能进行图像和视频处理。OpenCV(Open Source Computer Vision Library)是一个开源计算机视觉和机器学习软件库,最初由 Intel 研发并发布。OpenCVSharp 让 C# 和其他 .NET 语言的开发者可以方便地访问 OpenCV 的强大功能。// 打印 OpenCV 版本信息Cv2。

仰望星空的博客 2万+

python动态渲染抓取网页_Python-爬虫-动态渲染页面抓取-(Selenium)的使用

Ajax形式的请求时JS动态渲染的一种手段,我们可以通过requests和urllib库来实现页面数据抓取,但是js动态渲染页面不仅仅是AJAX一种形式,有的网页是由JS直接生成的,并非原始HTML,可能还不包含AJAX请求;例如一些报表工具ECharts 官网的实例,图形都是通过JS生成的;例如淘宝页面,即使是AJAX请求数据,但是接口中包含了很多加密参数,我们很难以找到规则,也因此很难分析AJ...

weixin_39966941的博客 286

华为OD机考2025C卷 - 精准核酸检测(Java & Python& JS & C++ & C语言)

华为OD机考2025C卷 - 精准核酸检测,提供在线OJ Java & Python& JS & C++ & C

算法大师! 2881

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

下一篇: python 编写爬虫常用包下载地址、工具网站以及相关安装问题集合(持续更新)
一颗橡树
博客等级 码龄8年 23粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值