簡體   English   中英

Selenium 代理彈出 Java

[英]Selenium Proxy Pop up in Java

除了我無法繞過的這個代理登錄之外,一切都運行良好。

這是我試圖通過的:

https://{USERNAME}:{PASSWORD}@url - 這仍然顯示相同的彈出窗口

driver.switchTo().alert().sendKeys(proxy.getUsername()); // Alert is never found.
driver.switchTo().activeElement().sendKeys(proxy.getUsername()); // Nothing happens
new Actions(driver).sendKeys(proxy.getUsername()).build().perform(); // Nothing is happening

這是我用來連接到 url 的代碼

    public void execute(ProxyConnection proxy) {
        WebDriver driver = setupDriver(proxy);
        driver.get(URL);
        driver.manage().window().maximize();
        // Here I use test methods like shown above
    }

    public WebDriver setupDriver(ProxyConnection proxyConnection) {
        System.setProperty("webdriver.chrome.driver", "MY PATH");

        String proxyadd = proxyConnection.getHostName() + ":" + proxyConnection.getPort();
        
        Proxy proxy = new Proxy();
        proxy.setHttpProxy(proxyadd);
        proxy.setSslProxy(proxyadd);
        
        ChromeOptions options = new ChromeOptions();
        options.setCapability("proxy", proxy);
        
        if (!debugMode) {
            options.addArguments("--headless");
        }

        return new ChromeDriver(options);
    }

我正在使用 ChromeDriver 版本:91.0.4472

我正在使用 selenium-chrome-driver 版本:3.8.0

任何幫助是極大的贊賞。

仍然沒有答案。

我什至嘗試過使用 selenium 和 chrome 版本,但仍然沒有運氣。 我更新到 BETA v4.0.0 並沒有任何效果。

AutoIT 或 Robot 不適合,因為它需要無頭。

嘗試使用

driver.switchTo().alert().sendKeys("用戶名");

您可以在https://www.guru99.com/alert-popup-handling-selenium.html中找到更多示例

對於任何想知道解決方案是什么的人,因為我測試了幾個小時,但最終找到了一個可行的...

((HasAuthentication) driver).register(UsernameAndPassword.of(ProxyData.getInstance().getUsername(), ProxyData.getInstance().getPassword()));

注意:這需要版本 Selenium 4.0.0 或更高版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM