尝试在以下位置找到要使用的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 :(得分:1)
您可以使用starts-with()
解决问题:
//a[starts-with(@id, "inviteUsers_")]
答案 1 :(得分:0)
如果这不起作用,请尝试找一个唯一的父母。
//div[contains(@id, 'service')]//a[contains(@id, 'inviteUsers')]