我正在尝试输入一个预先填充了其他文本的文本框。它的文本框也类似于下拉列表(您可以输入该框,它会带来匹配的文本,如同下降。)输入它。我在页面上执行的操作是向下滚动页面,尝试找到元素(TextBox)并在其上书写。我使用以下代码
((JavascriptExecutor)驱动程序).executeScript("涡旋(0400)&#34);
Thread.sleep(4000);
WebDriverWait wait = new WebDriverWait(driver,20);
wait.until(ExpectedConditions.ElementIsVisible(By.cssSelector("#reg_country"))); //examining the cssselector for a search
//driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
WebElement RegisteredCountry = driver.findElement(By.cssSelector("#reg_country"));
RegisteredCountry.sendKeys("Afghanistan");
我在元素上输入之前也尝试了Implicit Wait。但它不成功。以下是我得到的错误。请指教
ElementNotVisibleException:尝试输入文本框时元素不可见错误
答案 0 :(得分:0)
尝试单击文本框,然后在sendkeys之前执行清除。
答案 1 :(得分:0)
少数事情:
1.确认您的定位器始终只返回一个对象,这是您想要的对象
2.逐步在调试模式下运行代码,查看它在哪里中断或哪些控件对selenium不可见。
3.检查Firebug的HTML面板中的元素,检查它是否真的可见(或不是灰色)
尝试在其中一个公共网址上复制您的方案,以确保不会与App相关的问题或与selen相关的内容。
答案 2 :(得分:-1)
试试这个:
WebElement RegisteredCountry = driver.findElement(By.cssSelector("#reg_country"));
RegisteredCountry.sendKeys("Afghanistan");
RegisteredCountry.sendKeys(Keys.ENTER);