所以我一直试图解决这个问题几个小时。我不知道我做错了什么。
这是我正在寻找的类型提前字段是<input type="text" id="id_attendees" name="attendees">
。当我在那里输入时,会创建一个 js 下拉列表。当我按下键盘上的向下箭头时,它可以正常工作并选择首选。当我keyDown --- id=id_attendees --- \40
在 IDE 中执行此操作时,它可以正常工作并且还可以选择选项。
我无法让它在 Java webdriver 中做同样的事情
Actions actionObject = new Actions(driver);
actionObject.sendKeys(Keys.ARROW_DOWN);
^不起作用。
driver.findElement(By.id("id_attendees")).sendKeys(Keys.ARROW_DOWN);
^不起作用
我在这两种情况下都尝试过 Keys.DOWN,但也没有用。我创建了一个文字String altm = "\u0040";
,所做的只是输入一个@
符号。
我也尝试了很多其他的东西,但没有任何效果。我不知道我错过了什么。
编辑1:
@Roddy 谢谢!- 鉴于该链接,我添加了以下确实有效的内容(在导入 DefaultSelenium 和 WebDriverBackedSelenium.
DefaultSelenium sel = new WebDriverBackedSelenium(driver,vars.siteurl);
sel.fireEvent("//input[@id='id_attendees']", "keydown");
编辑 2: --> 不起作用的 DOH。显然是我太热心了。