如何在浏览器警报/对话窗口中输入密码。它在加载url时显示。这不是一个基本的身份验证提示,而是一个密码提示,它会阻止与该页面的任何交互,直到输入密码。我正在和水豚一起使用硒红宝石。我曾尝试以下:在对话框/提示中输入密码
page.driver.browser.switch_to.alert.send_keys("Password")
,但它不进入任何
如何在浏览器警报/对话窗口中输入密码。它在加载url时显示。这不是一个基本的身份验证提示,而是一个密码提示,它会阻止与该页面的任何交互,直到输入密码。我正在和水豚一起使用硒红宝石。我曾尝试以下:在对话框/提示中输入密码
page.driver.browser.switch_to.alert.send_keys("Password")
,但它不进入任何
如果你想填什么是JS window.prompt
触发,则你可以处理它像
page.accept_prompt(with: "The text to fill in") do
page.click_button "Go" # whatever action triggers the prompt to appear
end
系统模式相反,如果它是一个系统身份验证模式(不是由JS打开的),那么你不能从Capybara访问它,如果你不能在URL中传递凭据,你将不得不使用一个完整的系统自动化工具,试图访问。
这可能会帮助你: -
字符串密码= URLEncoder.encode( “通行证”) ;
String UserName = URLEncoder.encode(“UserName”);
String url = String.format(“http://%s:%[email protected]”, UserName,Password);
在此%s是以参数的形式传递给url的变量。
这个答案不是很有帮助,并没有回答这个问题。 –
那么你试过了什么? –
尝试像这样,如果它是一个警报'Alert alert = driver.switchTo()。alert(); alert.sendKeys( “文本”); alert.accept();' –
我已经更新了我迄今为止所尝试的问题,它与您建议的类似但未起作用 – Rahul