无法在Selenium中设置Chrome代理(Python 3.7)

统计人

运行以下程序时,会弹出以下错误:

selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: cannot parse capability: proxy from invalid argument: unrecognized proxy type: unspecified

我不知道我在做什么错。我认为这与设置chrome webdriver有关,但是由于互联网给我很多不同的答案,我不知道如何正确执行此操作。

from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy, ProxyType
import random
from string import ascii_lowercase

PATH = r"C:\Users\...\PythonProject\chromedriver.exe"


def proxy_update():
    global driver
    proxies = []
    driver.get('https://free-proxy-list.net/')
    proxy_search = driver.find_element_by_xpath("""//*[@id="proxylisttable"]/tbody""").text.split('ago\n')
    for pr in proxy_search:
        proxies.append(pr.split(' '))
    for lst in proxies:
        for pr in lst:
            if pr == "elite":
                proxies.append(lst[0] + ':' + lst[1])
            else:
                pass
    if len(proxies) > 20:
        driver.quit()
        return random.sample(proxies, k=1)
    else:
        proxy_update()


capabilities = webdriver.DesiredCapabilities.CHROME.copy()
prox = Proxy()
prox.add_to_capabilities(capabilities)
prox.proxy_type = ProxyType.MANUAL
driver = webdriver.Chrome(PATH, desired_capabilities=capabilities)
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument(f'--proxy-server=http://{proxy_update()}')
driver = webdriver.Chrome(PATH, desired_capabilities=capabilities, options=chrome_options)
prox.http_proxy = f"{proxy_update()}"
prox.socks_proxy = f"{proxy_update()}"
prox.ssl_proxy = f"{proxy_update()}"


proxy_update()

driver.get("https://www.wikipedia.org/wiki/Rotterdam")

这是完整的错误:

Traceback (most recent call last):
  File "C:/Users/.../PythonProject.py", line 36, in <module>
    driver = webdriver.Chrome(PATH, desired_capabilities=capabilities)
  File "C:\Users\...\venv\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 81, in __init__
    desired_capabilities=desired_capabilities)
  File "C:\Users\...\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "C:\Users\...\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "C:\Users\...\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Users\...\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: cannot parse capability: proxy
from invalid argument: unrecognized proxy type: unspecified
磷酸二氢

以下是在chrome中添加代理的正确方法,

JAVA:

ChromeOptions chromeOptions = new ChromeOptions();
String proxyadd = "176.9.119.170:8080";
Proxy proxy = new Proxy();
proxy.setHttpProxy(proxyadd);
proxy.setSslProxy(proxyadd);
chromeOptions.setCapability("proxy", proxy);
WebDriver driver  = new ChromeDriver(chromeOptions);

蟒蛇:

from selenium import webdriver

PROXY="176.9.119.170:8080"
webdriver.DesiredCapabilities.CHROME['proxy'] = {
    "httpProxy": PROXY,
    "ftpProxy": PROXY,
    "sslProxy": PROXY,
    "proxyType": "MANUAL",

}

webdriver.DesiredCapabilities.CHROME['acceptSslCerts']=True

driver =webdriver.Chrome(r".\chromedriver.exe")


driver.get("https://www.google.com")

chrome无法连接到代理,可能是因为它正在使用系统代理。尝试上述方法来设置代理

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用Java中的(aplusb)* 3 + 7替换(a + b)* 3 + 7?

来自分类Dev

Windows 7 上的 PyInstaller 和 Python 3

来自分类Dev

在Jboss7中配置休眠3

来自分类Dev

无法在xcode 7 Swift中创建vector_float 3

来自分类Dev

Python 3中的代理类

来自分类Dev

Python 3中的反向代理

来自分类Dev

如何使用Jboss7设置hibernate3?

来自分类Dev

Strongloop无法在Windows 7中安装,sqlite3 @ 3.0.5无法执行安装脚本

来自分类Dev

在Windows 7和python 3.x上安装numpy

来自分类Dev

如何在Centos 7上正确安装python3

来自分类Dev

使用Python 3和Windows 7进行定时输入

来自分类Dev

Python3 Windows 7 文件路径处理

来自分类Dev

Python 3,7 使用 Re 解码 METAR 信息

来自分类Dev

IE7和IE8中的Bootstrap 3

来自分类Dev

centos7中未安装pip3

来自分类Dev

在 (Microsoft) Liquid 中实现 Steane [[7, 1, 3]] 代码

来自分类Dev

使用 Chrome 问题在 Python 3 中多处理 selenium

来自分类Dev

无法在centos 7中启动设置?

来自分类Dev

如何在Selenium Java中为Chrome设置代理设置

来自分类Dev

Python3中的代理检测

来自分类Dev

在Java中将(a + b)* 3 + 7替换为(aplusb)* 3 + 7?

来自分类Dev

JProfiler7:设置本地代理

来自分类Dev

SMB 3和Windows 7

来自分类Dev

代码在spyder(python 3,7)中有效,但在Jupyter Notebook中无效

来自分类Dev

如何在Python中打印多个if语句的结果,例如(5,7,3,...)

来自分类Dev

找不到架构 armv7 的符号(在 Xcode 和 Python3 中运行存档时)

来自分类Dev

将代理设置为urllib.request(Python3)

来自分类Dev

如何在centos7上的gnome3中确定或设置活动视图的键盘快捷键?

来自分类Dev

如何重复序列:r中的1,2,3,4,5,6,1,2,3,4,5,6,7,8,9,10,7,8,9,10

Related 相关文章

热门标签

归档