Java Selenium。查找某个xpath的文本元素

时间:2016-06-10 15:14:37

标签: java selenium xpath selenium-webdriver

尝试在以下位置找到要使用的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'] 

2 个答案:

答案 0 :(得分:1)

您可以使用starts-with()解决问题:

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

答案 1 :(得分:0)

如果这不起作用,请尝试找一个唯一的父母。



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