【问题标题】:How to get specific span text value如何获取特定的跨度文本值
【发布时间】:2014-03-08 03:32:10
【问题描述】:

如何使用 selenium 网络驱动程序获取此跨度的文本值。

<div itemtype="http://schema.org/LocalBusiness" style="float: left;">
    <span itemprop="name" style="color: #c71d22; font-size: 14px;">
        <b>Das Fiscaal</b>
    </span><br>

我尝试使用此代码,但它不起作用。请任何帮助。

String kk = driver.findElement(By.xpath("//*div[@itemtype='http://schema.org/LocalBusiness']/div/span[@itemprop='name']")).getText();

【问题讨论】:

    标签: selenium xpath


    【解决方案1】:

    我认为问题在于您的 XPath:

    您正在尝试匹配具有 itemtype 属性的节点 *div,然后尝试在其下方找到 div 节点。

    试试://div[@itemtype='http://schema.org/LocalBusiness']/span[@itemprop='name']

    将任意级别的div与正确的itemtype匹配,然后将其直接子span与正确的itemprop匹配。

    【讨论】:

    • 尽管您的 div 也未关闭 - 假设这是问题中的错字,而不是您的实际代码。
    • 没问题。为了将来参考,您可以在此处阅读有关 XPath 语法的更多信息 — w3schools.com/xpath/xpath_syntax.asp,您还可以使用大多数浏览器控制台中的开发人员工具($x("//my/xpath/here"))调试它们
    • 我可以问一个想法吗?我如何从 hier
       
      点击
      我使用 String tel = driver.findElement(By.xpath("//span[@itemprop='telephone']")).getText();给我空值谢谢
    • 再一次,我会尝试在 Selenium 的第一个 outside 进行调试(例如通过浏览器开发工具)——看看你是否可以在页面本身上正确匹配它,即如果你在 Selenium 中仍然有问题,你可以确定问题出在那儿。乍一看,您的 XPath 看起来不错,但很难在没有格式化的情况下在 SO 的 cmets 部分进行调试 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-16
    • 1970-01-01
    • 2020-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多