登录主应用程序后。我希望它输入州名并点击输入功能。理想情况下,它是一个下拉菜单,但我想通过输入文本"科罗拉多"来实现这一点。在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);
它可以在文本框中输入文本但不会输入。我只需要选择科罗拉多州,然后点击不同的标签。
答案 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");