Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium 无需选择元素的硒的基本自闭症_Selenium_Basic Authentication - Fatal编程技术网

Selenium 无需选择元素的硒的基本自闭症

Selenium 无需选择元素的硒的基本自闭症,selenium,basic-authentication,Selenium,Basic Authentication,我需要登录到一个弹出窗口,我测试了每个人提出的方法,但没有一个有效!因此,我想做的是简单地转到一个url,迅速键入username\t和password,然后点击Enter。通常,这可以通过选择input元素来实现,但在这种情况下不行。如何在不选择元素的情况下进行键入 假设焦点在帧上。尝试对需要的[java代码]使用操作: Actions action=新操作(webdriver)//替换为您的驱动程序 action.sendKeys(“用户名”).perform(); action.sendK

我需要登录到一个弹出窗口,我测试了每个人提出的方法,但没有一个有效!因此,我想做的是简单地转到一个url,迅速键入
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”)