2017-07-25 134 views
0

我正在嘗試在網站上填寫表單,而我無法找到代碼中列出的元素。元素不可見 - Selenium - Java Webdriver

我的代碼:

new WebDriverWait(driver, 30).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("/html/body/div[1]/form/div/div/input[1]"))); 
     driver.findElement(By.xpath("/html/body/div[1]/form/div/div/input[1]")).sendKeys("TEST"); 

相對網站代碼:

<body> 
    <div id="pf_form" class="pf_formcontainer"> 
    <form id="PF_1" class="form formBoxShadow" style="height: 1600px; width: 
     1800px; display: block; left: 0px; top: 30px;"> 
    <div id="PF_4Container" class="PageContainer" style="left:0px;top:0px;z- 
     index:0;position:absolute"> 
    <div id="PF_4" class="page" tabindex="" name="PF_4" style="width: 1800px; 
     height: 1600px; background-color: rgb(255, 255, 255); display: block;"> 
    <input id="PF_5" class="textinput" name="PF_5" maxlength="99" value="" 
     onclick="return false;" style="left: 169px; top: 107px; z-index: 6; height: 
     18px; line-height: 18px; width: 206px; display: block;" type="text"> 
    ... 

我試圖改變框架PF_4和PF_4Container,沒有運氣。我試圖通過身份證和其他方式來找到它,但這一個正在踢我的屁股。

形式是公開可見這裏http://app.perfectforms.com/PresentationServer/Form.aspx/Play/FdjigAcE?f=FdjigAcE

任何指導,將不勝感激。我一直試圖解決這個問題,現在幾個星期。

+0

當您使用id時會出現什麼錯誤? driver.findElement(By.id( 'PF_5'))。我沒有看到任何iframe ... – Grasshopper

+0

如果您的xpath路徑使用控制檯的評估路徑正確,請嘗試 - > https://developer.mozilla.org/en/docs/Introduction_to_using_XPath_in_JavaScript –

+0

謝謝Andrew。它似乎無法找到元素。隨意在url上運行它。 –

回答

0

如果你有你的HTMl元素與ID已經爲什麼使用Xpath? 簡單使用:

WebDriverWait wait = (new WebDriverWait(driver, 30)); 
WebElement input = wait.until(ExpectedConditions.presenceOfElementLocated(By.id("PF_5"))); 
input.sendKeys("tests tests"); 
+0

謝謝基督徒!我添加了這個,但是返回的錯誤是: 線程「main」中的異常org.openqa.selenium.ElementNotVisibleException:元素不可見 –

相關問題