java
  • selenium
  • xpath
  • selenium-webdriver
  • 2016-06-10 80 views 0 likes 
    0

    试图找到一个XPath表达式中使用:Java Selenium。查找文本元素一定的XPath

    wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("XPATH HERE"))).click(); 
    

    元素说页的“邀请用户”,我需要能够点击它

    我需要找到元素/a[@id='inviteUsers_8ef17ba4-b739-4fb6-8198-3862ea84c381_toggle']但问题是字符“inviteUsers_”后动态生成

    我已经尝试了这些:

    "//*[contains(.,'Invite Users')]"; 
    "//a[contains(.,'Invite Users')]"; 
    

    而这些给予NoSuchElement例外。

    这是完整的XPATH:

    /html/body/div[@class='col-xs-10 col-xs-offset-2 main']/fieldset[@class='form-horizontal']/div[@id='roles']/div[@id='entitlements']/div[@class='panel panel-default '][3]/div[@id='service_8ef17ba4-b739-4fb6-8198-3862ea84c381']/div[@class='panel-body']/div[@class='panel panel-default'][1]/div[@class='panel-heading']/h4[@class='panel-title']/a[@id='inviteUsers_8ef17ba4-b739-4fb6-8198-3862ea84c381_toggle'] 
    
    +0

    你找到你的答案吗?如果没有,请发布您尝试点击的链接的相关HTML。 – JeffC

    回答

    1

    你可以用starts-with()解决这个问题:

    //a[starts-with(@id, "inviteUsers_")] 
    
    +0

    仍然无法找到该元素不幸的是:(我是否缺少xpath的东西吗?也许我需要得到一个特定的div之前试图访问该元素? – shanwar

    +0

    @shanwar不,如果它失败,它会失败,具体的'div'也是这样。这是一个公共页面,你可以分享一个链接到它?谢谢。 – alecxe

    +0

    无法做到这一点对不起。机密页面在开发中。是否这个元素出现在有点像下拉区域之后后续点击前一个元素,以便它失败?我会认为等待(超时前7秒)照顾... – shanwar

    0

    如果这不起作用尝试找到一个独特的父母。

    //div[contains(@id, 'service')]//a[contains(@id, 'inviteUsers')]

    相关问题