任务:在搜索框中搜索 FAA:我试过这个:-webdriver.select_tabs(search.btnSearch);Thread.sleep(3000);WebElement searchbox = driver.findElement(By.id("search-text"));Actions builder = new Actions(driver);Actions seriesOfActions = builder.moveToElement(searchbox).click().sendKeys(searchbox, "FAA");seriesOfActions.perform();WebDriverWait wait = new WebDriverWait(driver, 30);WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id=\"search-text\"]")));element.sendKeys("FAA");element.sendKeys(Keys.ENTER);webdriver.enter_key(search.txtSearch, Keys.ENTER);webdriver.enter_Text(search.txtSearch, "FAA");webdriver.enter_key(search.txtSearch, Keys.ENTER);得到这个错误:-org.openqa.selenium.ElementNotVisibleException: element not visible
3 回答
小唯快跑啊
TA贡献1863条经验 获得超2个赞
使用以下 xpath :
(//input[@id='search-text'])[2]
并使用类似:
driver.findElement(By.xpath("(//input[@id='search-text'])[2]")).sendKeys("FAA");
当您在控制台中通过此 id 找到它时,它给出了两个元素,第一个不可见,但第二个是实际的输入框。
POPMUISE
TA贡献1765条经验 获得超5个赞
根据定义,Selenium 像真实用户一样与浏览器交互。真正的用户将无法输入隐藏的文本框/编辑框。您要么需要更改输入的可见性,重新评估为什么需要与隐藏元素交互,要么使用 javascript 执行程序来设置输入的值,如下所示:
driver.executeScript("arguments[0].value='" + textToEnter + "'", element);
添加回答
举报
0/150
提交
取消