我正在尝试解析一个通过javascript-ajax调用加载表内容的网站..
function buildTable() {
// render spinner over dataset summary table
var overlay = document.getElementById("summary");
enableOverlay(overlay, true, true, "30px");
// request dataset summary from server
$.ajax({
url: "/ProteoSAFe/MassiveServlet",
data: { "function":"", "mid":dataset_name },
type: "GET",
cache: false,
complete: function(data) {
var stats = JSON.parse(data.responseText);
var filesize = document.getElementById("filesize");
filesize.innerHTML = stats.filesize;
}
在HTML中:
<table>
<table>
<tr>
<td>Number of Files:</td>
<td id="filecount"></td>
</tr>
<tr>
<td>Total Size:</td>
<td id="filesize"></td>
</tr>
<tr id="spectra_row" style="display:hidden">
<td>Spectra:</td>
<td id="spectra"></td>
</tr>
<tr>
<td>Subscribers:</td>
<td id="subscribers"></td>
</tr>
我在selenium中使用以下代码:
List<WebElement> tables = div.findElements(By.tagName("table"));
wait.until(ExpectedConditions.visibilityOfAllElements(tables));
for (WebElement table : tables) {
List<WebElement> allRows = table.findElements(By.tagName("tr"));
for (WebElement row : allRows) {
List<WebElement> cells = row.findElements(By.tagName("td"));
for (WebElement cell : cells) { System.out.println("content >> " + cell.getText());
}
}
}
我的问题是:它只提取几个表格单元格。我想提取所有表格的内容。 有没有其他方法来提取表格内容。请指教。