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

使用selenium驱动Chrome浏览器进行网络爬虫时,遇到页面空白问题,经排查确认为网站反爬策略导致。手动访问和其他浏览器正常,怀疑因浏览器指纹差异被识别为自动化工具。解决方案包括修改浏览器配置以降低被检测概率,或使用undetected_chromedriver库以避免被识别。
摘要由CSDN通过智能技术生成

问题描述

1、在使用python实现自动化网络爬虫时,我使用到selenium来驱动谷歌Chrome浏览器来打开某一个网页,然后爬取数据,代码如下:


from selenium import webdriver
import time


driver = webdriver.Chrome()
driver.get('https://klatasds.ecnu.edu.cn/xydt/list.htm')

time.sleep(5)
print(driver.page_source)

   2、但是当执行到driver.get(url)访问网站时,页面是空白的,如下所示,没有正常显示该网站的数据

   print输出的网页html也只有如下数据:

<html><head></head><body></body></html>

 3、而我将该url网址收到复制到其他浏览器中访问是正常的,可以看到网页数据&

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
Selenium打开网页时,有几个可能的原因导致页面显示为空白。 第一个可能的原因是Selenium没有等待页面完全加载就开始获取页面内容。在某些情况下,网页的内容需要一些时间才能完全加载和渲染。为了解决这个问题,可以使用Selenium的等待功能,通过等待页面元素的出现或等待页面的特定状态来确保页面加载完成后再获取内容。 第二个可能的原因是Selenium浏览器驱动程序版本与使用浏览器版本不兼容。不同的浏览器驱动程序适用于特定版本的浏览器。如果驱动程序版本与浏览器版本不匹配,可能会导致页面显示为空白解决这个问题的方法是确保Selenium浏览器驱动程序版本与使用浏览器版本一致。 第三个可能的原因是网页使用了动态内容,而Selenium获取的是页面加载时的静态内容。有些网页使用JavaScript等技术来动态地更新页面内容,这些动态内容可能在页面加载后才会生成。如果Selenium只获取页面加载时的静态内容,可能会导致页面显示为空白解决这个问题的方法是使用Selenium的等待功能,等待页面的动态内容生成后再获取页面内容。 综上所述,Selenium打开网页空白的原因可能是没有等待页面完全加载、浏览器驱动程序版本与浏览器版本不兼容或者网页使用了动态内容。解决这个问题的方法是使用Selenium的等待功能、确保浏览器驱动程序版本与浏览器版本一致,以及等待页面的动态内容生成后再获取页面内容。 (Selenium是一个用于自动化测试的工具,常用于模拟用户在网页上的操作。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阳光宅男xxb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值