【问题标题】:Selenium 4.0.0 - Passing Username and password through URL in Firefox browserSelenium 4.0.0 - 在 Firefox 浏览器中通过 URL 传递用户名和密码
【发布时间】:2022-01-05 05:56:07
【问题描述】:

是否可以在 Selenium 4.0.0 版本的 Firefox 浏览器中通过 URL 传递用户名和密码? 我能够通过 selenium 3.141.59 版本但无法通过 Selenium 4 版本。我还可以使用开发工具概念传递给 Chrome 和边缘浏览器。

我使用的示例代码是:

FirefoxOptions options = new FirefoxOptions();
options.setAcceptInsecureCerts(true);
options.setCapability("build", "Testing Firefox Options [Selenium 4]");
options.setCapability("name", "Testing Firefox Options [Selenium 4]");
options.setCapability("platformName", "Windows 10");
options.setCapability("browserName", "Firefox");
options.setCapability("browserVersion", "95.0");
try {
driver = new RemoteWebDriver(new URL("http://" + username + ":" + Password+ 
"@hub.lambdatest.com/wd/hub"), ((Capabilities) options));
} catch (MalformedURLException e) {
System.out.println("Invalid grid URL");
}driver.get("https://www.lambdatest.com");

使用代码 sn-p 时,我无法在 Firefox 中创建任何新会话。 我想成为:http://username:password@the-site.com

有没有办法做到这一点,或者 selenium 4 在 Firefox 浏览器中不支持这个功能?

【问题讨论】:

    标签: java selenium firefox selenium4


    【解决方案1】:

    DesiredCapabilities 现在在 v4.x.x 中已弃用,功能现在符合 W3C 并使用适当的前缀包装您的供应商选项(在本例中为 LT:Options for lambdatest.com)

    解决以下问题:

    public void setUp() throws Exception {
        FirefoxOptions options = new FirefoxOptions();
        options.setAcceptInsecureCerts(true);
        options.setPlatformName("Windows 10");
        options.setBrowserVersion("95.0");
    
        HashMap<String, Object> ltOptions = new HashMap<String, Object>();
        ltOptions.put("build", "Testing Firefox Options [Selenium 4]");
        ltOptions.put("name", "Testing Firefox Options [Selenium 4]");
        ltOptions.put("browserName", "Firefox");
        options.setCapability("LT:Options", ltOptions);
    
        try {
            driver = new RemoteWebDriver(new URL("http://" + username + ":" + Password + "@hub.lambdatest.com/wd/hub"), options);
        } catch (MalformedURLException e) {
            System.out.println("Invalid grid URL");
        }
    
        driver.get("https://www.lambdatest.com");
    }
    

    【讨论】:

    • 感谢您提供信息,但此代码也收到相同的日志错误“无法创建新会话”。无论如何在 Firefox 浏览器中为 Selenium 4.0.0 版本创建新会话?
    • 我匆忙回答,有一些其他的变化,并根据您对 Selenium 4 的要求进行了编辑,并且您正在使用 lambdatest
    • lambdatest 只是一个演示 URL,但我的要求是相同的,我想在 Firefox 浏览器中通过 url 传递用户名和密码
    猜你喜欢
    • 2014-02-24
    • 2019-03-13
    • 2019-07-05
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    • 2019-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多