我试图通过两种方式找到按钮。第一个由xpath直接工作。但第二种方式不起作用。使用click()函数后,没有任何反应,没有错误。
第一种方式:
By.xpath(".//*[@id='app:viewAppInsideConfirm:confirmInside:j_id300']").click()
第二种方式:
By.className("iceCmdBtn").click()
HTML:
<input id="app:viewAppInsideConfirm:confirmInside:j_id300" class="iceCmdBtn" type="submit" value=" Yes " onfocus="setFocus(this.id);" onclick="parent.JSsessionTimeOut.resetSessionTimeout();iceSubmit(form,this,event);return false;" onblur="setFocus('');" name="app:viewAppInsideConfirm:confirmInside:j_id300"></input>
顺便说一句:
我尝试使用xpath查找不同的项目,我得到了:
使用'sumbit'作为关键词可以找到它,但是与By.className(“iceCmdBtn”)相同但查找但是没有动作......
String xpathLocater = ".//*[@type='submit']";
driver.findElement(By.xpath(xpathLocater)).click();
对于'是',我找错了找到元素......
String xpathLocater =“.//* [@ value ='Yes']”; driver.findElement(By.xpath(xpathLocater))点击();
专家!!!
它有另一个按钮:
所以我想我需要使用FindElements
答案 0 :(得分:2)
假设您的示例中id
的动态部分为300
,您可以使用starts-with()
应用部分检查:
By.xpath(".//input[starts-with(@id, 'app:viewAppInsideConfirm:confirmInside:') and @class='iceCmdBtn']").click()