python selenium 有界面模式正常,个别网站无界面模式运行报错403 怎么办?

发布于 2022-09-12 01:37:50 字数 1512 浏览 23 评论 0

我使用正常有界面模式运行都是正常的。
但是使用了无界面模式,(主要是要配置到服务器上)我用的显示等待,所以报错是 TimeoutException异常。没有找到元素。我试着排查问题。
使用print(browser.page_source) 发现输出的内容如下

<html><head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>


<center>Apple</center>

<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
</body></html>

这是什么原因,就单单这一个网址是这样的。其他的例如百度等都可以获取到网页源码的。
我的无界面配置如下:

# 创建chrome参数对象
    options = webdriver.ChromeOptions()
    options.add_argument('--no-sandbox')  # 解决DevToolsActivePort文件不存在的报错
    options.add_argument('window-size=1600x900')  # 指定浏览器分辨率
    options.add_argument('--disable-gpu')  # 谷歌文档提到需要加上这个属性来规避bug
    options.add_argument('--hide-scrollbars')  # 隐藏滚动条, 应对一些特殊页面
    options.add_argument('blink-settings=imagesEnabled=false')  # 不加载图片, 提升速度
    options.add_argument('--headless')  # 浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败
    browser = webdriver.Chrome(options=options)

请问是否需要加什么内容呢?为什么出现403错误,请问怎么解决?### 问题描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文