在使用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

营销反作弊之 异常行为分析模型(一),附带python代码

通过对用户行为进行深入的分析,识别出与常规模式不符的异常行为,可以有效检测并阻止虚假广告点击、刷单、点击欺诈等欺诈行为。本文将详细探讨营销反欺诈中异常行为分析的方法,介绍如何通过数据采集、清洗、行为建模与异常检测,准确识别潜在的欺诈行为,并提供 Python 实现代码示例。**监督学习 (Supervised Learning):**在标注数据的帮助下,训练机器学习模型使其能预测未知数据的结果。营销反欺诈异常行为分析的整体流程涉及多个环节,确保通过对用户行为的深入分析,及时识别潜在的欺诈行为。

viviwiky的博客 1230

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

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

我爱娃哈哈的专栏 1940

树莓派驱动DLPDLCR230NPEVM+framebuffer显示图片

DLPDLCR230NPEVM DLP® LightCrafter™ Display 230NP 是一个易于使用的紧凑型即插即用评估平台,适用于消费类产品、工业、医疗和物联网 (IoT) 市场中的各种超便携显示应用。此评估模块 (EVM) 采用 DLP230NP 芯片组,该芯片组由DLP230NP.23 1080p DMD、DLPC3436显示控制器和DLPA2005PMIC/LED 驱动器组成。此 EVM 外形小巧,配备生产就绪型光学引擎以及支持 18 位 RGB 并行视频接口...

L_Y000的博客 2618

300个fpga练手项目推荐

• 按键设置BPM,LED和蜂鸣器同步打拍(支持4/4、3/4拍)• 例:先实现DDR3控制器(基础),再构建视频处理流水线(集成)◦ 驱动小型e-Paper显示日期/时间(SPI接口,静态刷新)◦ 音频输入经FFT后,用LED柱状显示频率能量(8频段简化)◦ 通过HC-05模块接收手机指令,控制电机方向(前进/后退)• 随机点亮LED,用按钮响应,数码管显示反应时间(毫秒级)• 8个LED旋转闪烁,按钮停止后显示中奖编号(带减速动画)• 用4方向按键输入手势(如→→←↑),正确后点亮绿色LED。

qq_62784677的博客 7638

Python爬虫实战:Requests与Selenium详解

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

weixin_73958875的博客 1万+

Centos7配置阿里云镜像源的教程

查看你的Centos版本,版本过低会导致安装失败,验证网络是否可以连接阿里云镜像,使用阿里云是需要网络的。# wget命令下载: wget [options] [url]# curl命令下载: curl [options] [url]我上面这个图片由于电脑问题是还没有加载完的。删除原来或者之前的yun源。

lyhshs的博客 2259

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

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

yxwb1253587469的博客 4万+

9.9元ESP32-C3开发板实战:手把手教你用VSCode搭建RT-Thread最小系统(附避坑指南)

本文提供了一份详尽的实战指南,教你如何在售价仅9.9元的ESP32-C3开发板上,使用VSCode搭建RT-Thread最小系统。内容涵盖从ESP-IDF环境配置、BSP源码获取、内核补丁应用到编译下载与调试的全流程,并重点分享了版本选择、补丁应用等关键避坑技巧,旨在帮助开发者低成本、高效地启动嵌入式实时操作系统开发。

o4p5q6r7s的博客 226

【Python爬虫教程】第3篇-解决使用reqeusts遇到的ProxyError异常

Python request代理错误提示“HTTPSConnectionPool, Cannot connect to proxy, no such file or directory”

分享技术,记录思考和感悟 1507

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

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

weixin_30597269的博客 535

YOLOv11【第二章:核心模块进阶篇·第3节】LDConv线性可变形卷积改进YOLOv11!

🏆 本文收录于专栏 《YOLOv11实战:从入门到深度优化》。本专栏围绕 YOLOv11 的改进、训练、部署与工程优化 展开,系统梳理并复现当前主流的 YOLOv11 实战案例与优化方案,内容目前已覆盖 分类、检测、分割、追踪、关键点、OBB 检测 等多个方向。

**My Coding Family** 7439

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

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

weixin_39966941的博客 286

【WRFDA第三期】OBSPROC namelist 变量总结

OBSPROC namelist 变量总结

WW、forever的博客 1120

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

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

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值