使用 webdriver.Chrome 打开某些网页,有很大机率提示“<customErrors> 标记"报错

2020-08-08 22:47:10 +08:00
 qazwsxkevin

在公司的内网里面,有一个页面用普通的浏览器,IE,firefox,Chrome 打开,加载一点儿问题都没有

而写 Python,用了 webdriver.Chrome 去 get 这个 url,会出现这样的提示:

“/”应用程序中的服务器错误。
运行时错误
说明: 服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全原因)。但可以通过在本地服务器计算机上运行的浏览器查看。

详细信息: 若要使他人能够在远程计算机上查看此特定错误消息的详细信息,请在位于当前 Web 应用程序根目录下的“web.config”配置文件中创建一个 <customErrors> 标记。然后应将此 <customErrors> 标记的“mode”特性设置为“Off”。


<!-- Web.Config 配置文件 -->

<configuration>
    <system.web>
        <customErrors mode="Off"/>
    </system.web>
</configuration>

注释: 通过修改应用程序的 <customErrors> 配置标记的“defaultRedirect”特性,使之指向自定义错误页的 URL,可以用自定义错误页替换所看到的当前错误页。


<!-- Web.Config 配置文件 -->

<configuration>
    <system.web>
        <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
    </system.web>
</configuration>

以一个 selenium 进程寿命来讲,chrome 有时候地一次能打开,而后面 N 次都打不开,报上面的错误。。
有时候是一个 selenium 进程寿命无论多少次尝试,始终都打不开网页
看了一下普通浏览器的交互过程,看各个 js 内容,似乎也没有什么反"webdriver"的操作。
而用 selenium Chromedriver 的 console 过程,什么信息都没有提示。。。
请教大家,这种情况,是网页服务器的问题,还是 selenium 的问题?

1570 次点击
所在节点    Python
2 条回复
dorothyREN
2020-08-09 18:58:09 +08:00
这是 IIS 服务器的报错吧。跟你用的啥没关系
qazwsxkevin
2020-08-09 23:43:52 +08:00
今天摸鱼,有时间就琢磨了一下,加了个
options.add_argument('--disable-javascript') # 禁用 javascript
结果,网页 100 次 get,100 次都能正常打开,但就是部分区域未能渲染好,
应该是有 js 搞鬼了,不是正常的访问,都引导成"IIS 服务器故障“,
事情涉及到前端的专业技术,认知基本空白,目前不了解原理,只能把绕开反爬 js 的事情押后以后再学习了,
反正也拿到了要的东西

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/696769

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX