我想使用Selenium在使用ajax和/或jquery加載的頁面上查找webElement。問題等待使用Java中的硒加載元素
看來不管我做什麼,都找不到這個元素。
我使用Firefox 20和Selenium 2.31.0。
那,我試圖讓部分有HTML,看起來像這樣(我得到這個使用檢查工具在Firefox):
<form id="file_upload" method="post" enctype="multipart/form-data" action="myAction.php">
<table class="table table-striped">
<tbody>
<tr>
<td>
<input class="input-file" type="file" name="file"></input>
<input class="btn btn-primary" type="submit" value="upload"></input>
</td>
<td style="text-align:right;"></td>
</tr>
</tbody>
</table>
</form>
我曾嘗試:
WebDriverWait driverWait = new WebDriverWait(driver, 10000);
WebElement dynamicElement = driverWait.until(ExpectedConditions.presenceOfElementLocated(By.id("file_upload")));
System.out.println(dynamicElement.getText());
和我已嘗試過:
WebElement dynamicElement = new FluentWait<WebDriver>(driver).withTimeout(1, TimeUnit.MINUTES).pollingEvery(1, TimeUnit.SECONDS)
.ignoring(NoSuchElementException.class).until(ExpectedConditions.visibilityOfElementLocated(By.id("file_upload")));
System.out.println(dynamicElement.getText());
但是我嘗試的任何東西從來沒有發現它,或者超時,無論我給它多少時間找到那個元素。任何幫助將非常感激。謝謝。
你的網頁有沒有框架? – Hemanth
其實有 - 我只是注意到,我試圖獲得的元素包含在iframe中 - 這可能是我爲什麼有問題嗎? – user1296259
使用'driver.switchto().frame(frame id或index number);'在你嘗試使用'findElement'之前 – Hemanth