Selenium Web Driver,如何在Selenium texbox的文本中输入文本并按Enter键

时间:2017-08-24 15:39:03

标签: selenium

登录主应用程序后。我希望它输入州名并点击输入功能。理想情况下,它是一个下拉菜单,但我想通过输入文本"科罗拉多"来实现这一点。在texbox中点击回车。文本框位于下拉列表下。我的问题是如何在Slenium文本框中输入文本并按Enter键。

文本框的HTML如下,

<input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" class="select2-input" role="combobox" aria-expanded="true" aria-autocomplete="list" aria-owns="select2-results-1" id="s2id_autogen1_search" placeholder="" aria-activedescendant="select2-result-label-11">

我目前的代码如下: -

driver.findElement(By.cssSelector("#s2id_regionSelect > a > span.select2-arrow")).click();
            driver.findElement(By.cssSelector("#s2id_autogen1_search")).sendKeys("Colorado");
            driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
            WebElement textbox = driver.findElement(By.cssSelector("#s2id_autogen1_search"));
            textbox.sendKeys(Keys.ENTER);

它可以在文本框中输入文本但不会输入。我只需要选择科罗拉多州,然后点击不同的标签。

4 个答案:

答案 0 :(得分:0)

在我的C#自动化代码中,我使用Actions(OpenQA.Selenium.Interactions)在输入字段中输入。

new Actions(driver).SendKeys(Keys.Enter).Perform();

答案 1 :(得分:0)

执行此操作的一种方法是仅使用文本发送换行符(\n),例如

driver.findElement(...).sendKeys("Colorado\n");

答案 2 :(得分:0)

您可以尝试使用TAB键:

WebElement textBox =driver.findElement(By.cssSelector("#s2id_autogen1_search")).sendKeys("Colorado");
textbox.sendKeys(Keys.TAB);// it will change focus to next element

答案 3 :(得分:0)

//locate the elements in the page using their properties like``id, name or path etc.

WebElement email = driver.findElement(By.id("abc"));

email.sendKeys("abc@gmail.com");