我正在尝试从HTML表中提取文本。
我使用Selenium和chrome驱动程序。
sResult = m_chromeWebdriver.findElement(By.xpath("/html/body/table[3]/tbody/tr[2]/td[2]/center/table[3]/tbody/tr[" + i + "]/td[5]/a")).getText(); ///abbr
这是表格的表格:
我在两个表上尝试了代码,其格式已更改:
<a class="bluelink" href="fstats.php?champ=904&team=470&team2=406&tour=110"><abbr title="that this then">1:0 (0:0)</abbr> </a>
和
<a class="bluelink" href="fstats.php?champ=804&team=435&team2=441&tour=110">1:1</a>
对于第一个,我得到1:0(0:0),但对于后者 - 我得到一个空字符串。
我还可以告诉我在后一种格式上尝试了以下代码:
List<WebElement> elemRes = elemTable.findElements(By.xpath("tr[" + i + "]/td"));
for(int x = 0; x < elemRes.size(); x++){
System.out.println(elemRes.get(x).getText());
}
其中i是行索引。除了最后一个(X:Y单元格类型)之外,我可以将所有单元格文本打印到控制台。并且循环确实到达了这个单元格,但没有打印任何内容!
元素结构发生变化的原因是设计,我对此没有影响。
你能告诉我吗?
谢谢。
答案 0 :(得分:0)
您是否尝试过以下XPath: -
//a[@class='bluelink']
尝试使用以下代码: -
sResult = m_chromeWebdriver.findElement(By.xpath("//a[@class='bluelink']")).getText();
希望它会对你有所帮助:)。