Python 在selenium中伪造主机名

Python 在selenium中伪造主机名,python,selenium,selenium-webdriver,Python,Selenium,Selenium Webdriver,我试图测试在许多后端托管的网页的响应时间。这些主机位于load balancer之后,在我的domain.com之上 我想在这些后端上使用python+selenium,但要使用伪造的主机名,而不要弄乱/etc/hosts或运行伪造的DNS服务器。纯硒驱动程序是否可能实现这一点 为了更好地说明这个问题,下面是python+selenium的功能,我也希望这样做:如果您使用的是UNIX系统,您可以尝试如下所述: 基本上,您仍然使用hosts文件,但它仅适用于您,位于~/.hosts中,设置HOST

我试图测试在许多后端托管的网页的响应时间。这些主机位于load balancer之后,在我的domain.com之上

我想在这些后端上使用python+selenium,但要使用伪造的主机名,而不要弄乱/etc/hosts或运行伪造的DNS服务器。纯硒驱动程序是否可能实现这一点


为了更好地说明这个问题,下面是python+selenium的功能,我也希望这样做:

如果您使用的是UNIX系统,您可以尝试如下所述:

基本上,您仍然使用hosts文件,但它仅适用于您,位于~/.hosts中,设置HOSTALIASESenvironment变量。

简而言之,不是

Selenium使用WebDriver标准驱动浏览器,根据定义,WebDriver标准仅限于与页面内容的交互。即使您可以为Selenium提供浏览器的配置选项,但没有浏览器可以在代理之外控制主机头或DNS解析

但是,即使您可以使用自定义主机头启动对特定IP地址的请求,后续请求也会由内容重定向触发;下载网页资产;AJAX调用;etc仍然不在您的控制范围内,并且被禁止自定义主机头,导致浏览器退回到标准DNS解析


您唯一的选择是通过/etc/hosts修改本地DNS解析或通过代理提供替代方案。

为什么需要欺骗主机名?因为我正在测试的应用程序在未正确访问的情况下会强制重定向到domain.com。这不是一个最佳解决方案,我很震惊,而且它仍然会陷入…而不会造成混乱/etc/hosts或运行假DNS服务器。这不会影响/etc/hosts。这是在运行测试的用户的配置文件中添加一些内容,而/etc/hosts是一个系统文件。此外,由于它位于环境变量中,因此它仅对运行测试的shell会话有效,因此即使是用户环境也不会混乱。