使用WebDriver / Seleneium输入击键而不使用Object将命令发送到

时间:2015-07-31 15:45:31

标签: c# selenium selenium-webdriver webdriver

我无法弄清楚如何切换到网页内置的弹出窗口,并且解决该修复的简单方法就是点击“输入”键。但是,该类的工作方式是命令:

Sendkeys.Keys("<insert Key>");

预计会有某种类型的文本框发送给它(除非我不太了解它),我只需要按下回车键,就好像只是在键盘上轻轻一样。这在Selenium或Windows命名空间中是否可行?

修改

我没有与我合作的代码,所以我现在就会展示它:

driver.FindElement(By.Id("ctl00_c_btnPost_btn")).Click();

此命令强制窗口弹出。要清楚,这不是我浏览器中的另一个窗口,它是一个在网页中弹出的窗口,这是我的问题所在。表格如下:

enter image description here

弹出此窗口后,我想点击回车键只需选择“确定”,而不必实际选择窗口。但是,我希望有人解释如何选择窗口。

1 个答案:

答案 0 :(得分:1)

一种常见的方法是将密钥发送到body元素:

driver.FindElement(By.TagName("body")).SendKeys("Keys here");

但是,如果这是一个警报,切换到它并接受它

IAlert alert = driver.SwitchTo().Alert();
alert.Accept();

您还可以将密钥发送到屏幕截图中显示的“窗口包装”弹出窗口:

driver.FindElement(By.CssSelector("div[id^=RadWindowWrapper]")).SendKeys(Keys.RETURN);

或者,找到里面的确定按钮并单击它:

driver.FindElement(By.Xpath("//div[starts-with(@id, 'RadWindowWrapper')]//*[. = 'OK']")).Click();