Selenium 无需选择元素的硒的基本自闭症
我需要登录到一个弹出窗口,我测试了每个人提出的方法,但没有一个有效!因此,我想做的是简单地转到一个url,迅速键入Selenium 无需选择元素的硒的基本自闭症,selenium,basic-authentication,Selenium,Basic Authentication,我需要登录到一个弹出窗口,我测试了每个人提出的方法,但没有一个有效!因此,我想做的是简单地转到一个url,迅速键入username\t和password,然后点击Enter。通常,这可以通过选择input元素来实现,但在这种情况下不行。如何在不选择元素的情况下进行键入 假设焦点在帧上。尝试对需要的[java代码]使用操作: Actions action=新操作(webdriver)//替换为您的驱动程序 action.sendKeys(“用户名”).perform(); action.sendK
username\t
和password
,然后点击Enter
。通常,这可以通过选择input
元素来实现,但在这种情况下不行。如何在不选择元素的情况下进行键入
假设焦点在帧上。尝试对需要的[java代码]使用
操作
:
Actions action=新操作(webdriver)//替换为您的驱动程序
action.sendKeys(“用户名”).perform();
action.sendKeys(“\t”).perform()//可能是Keys.TAB
action.sendKeys(“密码”).perform();
action.sendKeys(“\n”).perform()//可能是键。输入
编辑:也可以使用
keyDown(Keys.TAB)
作为sendKeys(“\t”)
的替代方法,这是我过去一直尝试的方法
System.Windows.Forms.SendKeys.SendWait("UserNoome");
System.Windows.Forms.SendKeys.SendWait({TAB});
System.Windows.Forms.SendKeys.SendWait("Passwoord");
您是否尝试过关注弹出窗口生成的新帧?@JonathanKempf
IAlert alert=driver.SwitchTo().alert()代码>?即使我切换到新的框架,我也不需要选择一个元素吗?如果我没有弄错的话,这不是嵌入在加载的HTML中或从加载的HTML中引用的JavaScript发出的警报。这是基本的身份验证对话框。在selenium中进行基本身份验证似乎是一种挑战,尽管据报道有一种挑战。@das-g谢谢。是的,我试过了驱动程序(http://username:password@www.url.com/);“
一个,但对我也不起作用。不起作用。给我一个OpenQA.Selenium.unhandleAlertException
,在第一个sendKeys
中,它就像一个符咒。谢谢Kam。按登录
按钮可以了。填写密码后,您需要再按一次Tab键。所以最后一步应该类似于System.Windows.Forms.SendKeys.SendWait(“\t\n”)
@HoomanYar最后一步应该是System.Windows.Forms.SendKeys.SendWait({ENTER})
还请注意,如果您使用System.Windows.Forms声明以下命名空间代码>,您只需将代码编写为SendKeys.SendWait(“Blah”)代码>