在页面加载后,光标已经在元素中,我需要在其中输入文本。由于我已经在其中“活动”了,我该如何直接输入字符串/类型而不必首先找到该元素?
答案 0 :(得分:1)
一旦页面加载完毕(光标已位于所需元素中即可发送字符序列),您可以使用以下解决方案:
WebElement myElement = driver.switchTo().activeElement();
myElement.sendKeys("alec kendall");
答案 1 :(得分:0)
使用此-WebElement currentElement = driver.switchTo().activeElement();
答案 2 :(得分:0)
随着DebanjanB书写,您可以切换到活动元素,但是如果Web行为发生变化,并且默认情况下光标将在其他位置,则该解决方案将无法继续工作。最好找到输入字段-经过验证的方式。一个例子:
WebDriverWait wait5s = new WebDriverWait(driver,5);
driver.get("https://www.google.cz");
WebElement input_field = wait5s(until(ExpectedConditions.elementToBeClickable(By.id("lst-ib")));
input_field.click(); // some input fields needs to be cliked before sending keys
input_field.sendKeys("egg or chicken");
WebElement search_button = driver.findElement(By.name("btnK"));
search_button.click();