Selenium 使用xpath访问文本时出现问题

Selenium 使用xpath访问文本时出现问题,selenium,xpath,selenium-webdriver,Selenium,Xpath,Selenium Webdriver,我试图在下面的html中找到批准,但似乎无法获得批准。我试过: //td[*/text()='Approvals'] //td[包含(@class,'Approvals')] 任何帮助都将不胜感激 <td class="ThemeGrayMainItem" name="cmSubMenuID4" onmouseup="cmItemMouseUp (this,1,'cmSubMenuID4',0,32)" onmouseout="cmItemMouseOut (this,1

我试图在下面的html中找到批准,但似乎无法获得批准。我试过:

  • //td[*/text()='Approvals']
  • //td[包含(@class,'Approvals')]
  • 任何帮助都将不胜感激

    <td class="ThemeGrayMainItem" name="cmSubMenuID4" 
        onmouseup="cmItemMouseUp (this,1,'cmSubMenuID4',0,32)"
        onmouseout="cmItemMouseOut (this,1,'cmSubMenuID4',0,32)"
        onmousedown="cmItemMouseDown (this,1,'cmSubMenuID4',0,32)"
        onmouseover="cmItemMouseOverOpenSub (this,1,'cmSubMenuID4',0,32)">Approvals&nbsp;
    </td>
    
    批准
    
    您可以使用
    contains()

    其中
    指元素的文本

    您还可以对类名应用其他检查,例如:

    //td[@class='ThemeGrayMainItem' and contains(., 'Approvals')]
    

    我将使用以下xpath:

    //td[contains(text(),'Approvals')]
    
    或者,如果您想更具体一些:

    //td[@class='ThemeGrayMainItem'][contains(text(),'Approvals')]
    

    HTML似乎不完整,因此XPATH表达式的工作数据并不明显。尤其是第一个
    *
    返回一些节点序列,而该序列取决于HTML中的内容,我们只能在一个小摘录中看到,因此我们很难知道与
    'Approvals'相比,什么是LHS。。。
    
    //td[@class='ThemeGrayMainItem'][contains(text(),'Approvals')]