我正在尝试启用https和SSO的网站。 我已经在URL本身中传递了用户ID和密码,但是在chrome浏览器中不起作用。
我观察到url中存在某种令牌,该令牌已添加到url之间。该令牌对于您访问网址的eveytime是新的。
我认为将在这里工作的是..访问url->将在url中添加新令牌->身份验证弹出窗口将会出现->然后我将获取当前url(带有当前令牌)-> driver.get此获取的网址
我已经手动尝试过,并且可以正常工作。
在身份验证弹出窗口仍然打开的情况下,有人可以帮助我获取当前的url值,因为对我而言,该控件未移动到具有以下代码的下一行。
public static void main(String[] args) throws InterruptedException, AWTException {
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
driver.get("url_without_token");
// here authentication will come and url is updated with token
String currentURL = driver.getCurrentUrl();
System.out.println(currentURL);
driver.get(currentURL);
}
答案 0 :(得分:1)
您可以执行以下操作:
wait.until((ExpectedCondition<Boolean>) driver ->
webDriver.getCurrentUrl().contains("token")
);
其中“令牌”是您来自网址的令牌参数的名称。
答案 1 :(得分:-1)
使用诸如睡眠或隐式等待之类的等待方式:
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
检查以下答案:Getting the URL of the current page using Selenium WebDriver