我需要输入一次性密码,所以我编码如下,以提醒。
$driver = Selenium::WebDriver.for :firefox
$driver.execute_script("window.promptResponse=prompt('Enter the onetime password')")
alert = $driver.switch_to.alert
sleep 5
alert.accept
input = $driver.execute_script("return window.promptResponse").to_s
p input
通过这种方式,我可以在输入密码时输入输入,然后将其丢弃5秒钟。 (我的意思是我从不点击确定按钮)
但是当我在5秒钟之前点击OK时我无法得到它。 有没有人有想法?
答案 0 :(得分:0)
您无法获取它,因为脚本在获取输入值之前失败。
当您手动接受警报时,步骤alert.accept
无法执行,因为没有可接受的警报。
在自动执行期间,您不应手动接受警报。