首页 > 解决方案 > 在 Selenium 中设置用户代理

问题描述

我正在使用 Windows 7 机器上的 Firefox 使用 Selenium 抓取房屋租赁列表,并且在我有三个页面要遍历的网站上遇到了验证码。一些搜索告诉我,为了避免检测到,我必须实施的众多技术之一是更改每个请求的用户代理。

我在最近五个月前发布的 stackoverflow 上发现了 Python 代码,用于使用以下用户代理字符串在 Google Chrome 中执行相同的操作:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36

但是,如果我从桌面上的 Firefox 访问https://www.whatsmyua.info/,我会看到用户代理字符串是:

Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0

如果我使用 Tor 浏览器做同样的事情,我会得到:

Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0

这两个用户代理字符串根本不像 Python 风格的代码!

将 Windows、AppleWebKit、Chrome 和 Safari 引用到用户代理字符串中会不会明显提示机器人检测器这不是普通的浏览器访问?

标签: seleniumfirefox

解决方案


推荐阅读