【问题标题】:proxy authentication selenium java代理身份验证 selenium java
【发布时间】:2021-10-07 19:19:44
【问题描述】:

我使用 java、selenium。 如何在 chrome 或 firefox 中使用登录名和密码对代理进行身份验证。 AutoIt 选项或浏览器的任何扩展不适合,对整个系统使用代理也不是一个选项,因为同时启动具有不同代理的多个浏览器。 据我所知,selenium 没有为此提供工具。

【问题讨论】:

    标签: java selenium selenium-chromedriver geckodriver


    【解决方案1】:

    我遇到了类似的情况,我设法让它工作的唯一方法是使用这个扩展 - https://www.crx4chrome.com/crx/1446/。

    这是一个代码示例。这不是 JAVA,但它应该给你的想法

    if (proxy.Credentials != null)
    {
        proxyIpPort = $"{proxy.Address.Host}:{proxy.Address.Port}";
        var creds = proxy.Credentials as NetworkCredential;
        proxyLogin = creds?.UserName;
        proxyPassword = creds?.Password;
        options.AddExtension(Path.Combine(PathHelper.AssemblyDirectory, "Resources", "extension_2_0_0_0.crx"));
    }
    
    var driver = new ChromeDriver(service, options);
    if (proxyLogin != null)
    {
        driver.WaitForElement(By.Id("login"), "Proxy login").SendKeys(proxyLogin);
        driver.WaitForElement(By.Id("password"), "Proxy password").SendKeys(proxyPassword);
        driver.WaitForElement(By.Id("save"), "Proxy save").Click();
        driver.Close();
        driver.SwitchTo().Window(driver.WindowHandles.First());
    }
    
    

    【讨论】:

    • 非常感谢,我已经使用了,但这对我来说并不总是正常工作
    猜你喜欢
    • 2019-01-05
    • 2022-08-19
    • 2015-09-15
    • 2023-03-25
    • 2013-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多