2016-05-06 47 views
-1

我試圖在預填充其他一些文本的文本框中鍵入。它的一種文本框,其行爲也像下拉式您可以輸入該文本框,並將匹配的文本拖放到下拉菜單中。)。鍵入它。我在頁面上執行的操作是,向下滾動頁面,嘗試查找元素(TextBox)並在其上寫入。我使用下面的代碼ElementNotVisibleException:試圖在文本框中輸入時元素不可見錯誤

((JavascriptExecutor)driver).executeScript(「scroll(0,400)」);

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"); 

我也嘗試過在元素上鍵入之前隱式等待。但它的不妥。以下是我得到的錯誤。試圖鍵入的文本框

+1

永遠記住得到幫助最好的辦法上,就是爲了展示一個簡約運行的代碼,顯示上面的代碼你issue..with這是很難判斷您的問題可能是..你會收到可能的解決方案。 –

+0

我編輯了我的問題..請看看你是否可以建議我任何東西 –

回答

0

嘗試執行文本框的點擊,當元素不可見的錯誤,那麼之前的SendKeys可能進行明確:請告知

ElementNotVisibleException。

+0

不,它沒有工作..我嘗試點擊文本框,然後嘗試打字..仍然我得到相同的錯誤..任何其他建議請問? –

0

很少的東西:
1.驗證你的定位器總是隻返回一個對象,那是你想要的對象。
2.一步一步地在調試模式下運行你的代碼,看看它在哪裏破壞或哪個控件對硒不可見。
3.檢查Firebug的HTML面板中的元素,檢查它是否真的可見(或不灰)
嘗試在一個公共URL上覆制你的場景,以確保這不是與應用相關的問題或硒相關的東西。

-1

試試這個:

WebElement RegisteredCountry = driver.findElement(By.cssSelector("#reg_country")); RegisteredCountry.sendKeys("Afghanistan"); RegisteredCountry.sendKeys(Keys.ENTER);

+0

對不起,沒有工作..它沒有在文本框中輸入任何內容..也許有其他建議嗎? –

+0

當您使用該選擇器時,您可以在調試時獲取元素? –

相關問題