2017-05-11 118 views
0

enter image description here如何使用Selenium Webdriver和Java从元素中获取文本?

我的代码:

 WebDriver driver = new SafariDriver(); 

     driver.get("http://bet.hkjc.com/football/default.aspx"); 
     WebElement matchs = driver.findElement(By.cssSelector("span.Head to Head")); 

     System.out.println(matchs); 

     driver.quit(); 

我如何可以抓取Manchester UtdCelta Vigo

+1

我不明白字体,你能否提供你想要获得的元素/链接的快照?Manchester Utd AND Celta Vigo' – DebanjanB

+0

http://bet.hkjc.com/football/default。 aspx –

+0

我正在寻找要从中提取文本的元素的HTML DOM。我不明白字体,所以我想要那个元素/链接的图片/快照,以便我可以在网站上轻松找到它:) – DebanjanB

回答

0
WebElement matchs = driver.findElement(By.xpath("//a[@title='Head to Head']")); 
System.out.println(matchs.getText()); 
+0

cosole显示:使用给定的搜索参数无法在页面上找到元素。 –

+0

@DnYk尝试使用萤火虫和firepath。非常容易 –

0

使用firebugfirefoxfirepath插件,并检查该元素,并得到了XPath和把它放在这里双引号里面的代码:

System.out.println(driver.findElement(By.xpath("")).getText()); 

如果你不知道如何使用萤火和firepath参考this链接

0

您可以通过CSS选择器或XPath选择

定位元素或者210

通过使用XPath

driver.findElement(By.xpath("//a[@title='Head to Head']")); 

通过使用CSS选择器

driver.findElement(By.cssSelector("span > a[title='Head to Head']")); 

或尝试出头这样,如果没有得到比赛

driver.findElement(By.cssSelector("td.cteams.ttgR2>span>a[title='Head to Head']")); 

注:在您的代码试图像span.Head to Head在CSS选择器.点代表类和根据您的路径您正在定位span class标签,其类名称为“Head to Head”,其中d不存在于你的dom中,因为这是锚标签的标题。

经历的Firefox FirebugFirepath插件最初拿到XPath或CSS路径

探索一些博客,以获得清晰的认识,你就可以自己创建

推荐本link为相同

0

我假设以上所有答案都不适用于您,并且正在提供另一个答案。

我可以看到两个文本都在“a”标签下。因此,这个想法是导航到元素,并使用getText() - 它返回可见的文本。

String word = driver.findElement(By.xpath("//span/a")).getText(); 
System.out.println(word); 

希望这适用于你。

0

在所有我的测试我使用像这样的getAttribute得到的文本,它是在所有驱动程序的工作对我罚款:

的assertEquals(strCity,txtCity.getAttribute(“值”));

相关问题