Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Chrome headless忽略系统代理_Python_Google Chrome_Selenium_Proxy_Google Chrome Headless - Fatal编程技术网

Python Chrome headless忽略系统代理

Python Chrome headless忽略系统代理,python,google-chrome,selenium,proxy,google-chrome-headless,Python,Google Chrome,Selenium,Proxy,Google Chrome Headless,编辑:以下是youtube视频演示问题: 我使用--headless标志运行selenium和chrome,但显然使用--headless忽略了系统代理。我以前在mac上测试过,它没有绕过代理,但在mac上的Windows10VM上,它似乎绕过了代理 代码: from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() options.add_ar

编辑:以下是youtube视频演示问题:

我使用--headless标志运行selenium和chrome,但显然使用--headless忽略了系统代理。我以前在mac上测试过,它没有绕过代理,但在mac上的Windows10VM上,它似乎绕过了代理

代码:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument('--headless')
options.add_argument('--hide-scrollbars')
options.add_argument('--disable-gpu')
driver = webdriver.Chrome(chrome_options = options)

driver.get('https://wtfismyip.com')
print(driver.find_element_by_tag_name('body').text)
如果我不使用无头标志。
它显示系统代理的IP,但如果使用它,它会显示我的真实IP。

原因可能有很多: 如果我不得不猜测这是Ip泄漏。低质量代理不会屏蔽您在各种网站上的ip。测试Ip泄漏的好网站是wher.net。IP地址只是一个因素,你还必须考虑浏览器指纹和用户代理欺骗。理想情况下,您希望wher.net具有100%的匿名性评级

此外,请确保已安装最新的Chrome和Firefox

我已经测试了你的代码,它是有效的。也许为您的完整代码提供公共代理可以帮助其他人完全按照您的想法复制您的工作。我只能猜测您是如何使用代理的,因此我的代码可能会有所不同。我也在使用windows

据我所知,您提供的代码似乎没有任何问题,因此我推测您的ip正在通过其他方式泄漏。查看浏览器指纹,禁用webrtc,并仔细查看wher.net

最后,Chrome和Firefox在测试版中提供了无头支持。我相信Linux一直都是这样。麦克,我对此不确定

或者,如果您想使用无头浏览器,请尝试phantom Js。虽然这正被我上面提到的东西所取代。我相信有其他方法可以实现无头浏览,而无需安装较新版本的Chrome和Firefox,尽管我不知道如何实现

编辑: 下面是一个示例,说明如何将代理与Chrome驱动程序一起使用:

from selenium import webdriver

PROXY = "23.23.23.23:2323" # IP:PORT or HOST:PORT

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server=%s' % PROXY)

chrome = webdriver.Chrome(chrome_options=chrome_options)
chrome.get("http://whatismyipaddress.com")
我在Selenium中试过这个,据我所知它是有效的

这是一个公共代理列表。请注意,它们中有相当一部分不起作用,所以我不得不滚动浏览3,直到它们起作用。我认为没有必要更改代理的网络设置,只需使用上面的代码即可


希望这是有帮助的

我是从NetworkSettings>Proxy添加ip的,虽然我承认它是一个低质量的免费代理,但只有当我使用'--headless'标志时,才会发生此错误。对于其他一切,代理都可以工作,甚至运行chrome本身,但没有“--headless”标志。我尝试使用他们网站上指定的“--proxy server=“my proxy””,但当我这样做时,它就崩溃了。@rjpj1998请查看我编辑的帖子。希望这有助于代理设置。您可以使用vpn,但速度可能非常慢。一个好的代理有时就是你所需要的。如果你打算在重要的工作中使用代理,我建议你从可靠的来源购买代理。Luminati是一款不错的产品,但价格相当昂贵。你得跟他们谈谈预付费的事。我相信它们是袜子。Socks 5是最安全的代理。使用wher.net测试泄漏@我明白了。也许可以用另一种方法来创建无头浏览器。是否可以在另一台计算机上复制此问题?这可能是mac特有的问题,我似乎无法在windows上复制它。这也可能是python安装问题,但可能不是。如果您正在使用anaconda v python等,有时会出现问题,很抱歉,我无法提供更多帮助,因为上面的内容对我很有用。我希望你能找到解决办法。我在mac上的虚拟机上运行windows时遇到这个问题。该程序在我的ubuntu VPS和mac电脑上运行良好,但在我的windows虚拟机上,它搞砸了。我甚至试着在mac和windows上都使用代理,但出于上帝不允许的原因,它不使用任何代理。如果我使用--proxy-server标志,它只会在chrome=webdriver.chrome(chrome\u options=chrome\u options)崩溃。您也可以使用“--headless”标志运行上面的程序吗?