如何使用Selenium webdriver和Java从元素中获取文本?

时间:2017-05-11 06:26:48

标签: java selenium webdriver

enter image description here

我的代码:

        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 Utd Celta Vigo

4 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

firebug中使用firepathfirefox个插件并检查该元素并获取xpath并将其放在此代码中的双引号内:

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

如果您不知道如何使用firebug和firepath,请参阅this链接

答案 2 :(得分:0)

您可以通过css选择器或xpath选择器

找到该元素

使用xpath

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

使用css Selector

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标记你的dom中存在,因为这是锚标记的标题。

最初浏览Firefox的FirebugFirepath插件以获取Xpath或css路径

探索一些博客以获得清晰的理解,您将能够自己创建

请参阅此link了解相同的

答案 3 :(得分:0)

在我的所有测试中,我都使用这样的getAttribute来获取文本,并且它对我来说对所有驱动程序都很好:

assertEquals(strCity,txtCity.getAttribute(" value"));