我正在用Java编写一个selenium webdriver测试。我需要测试点击一个“是”按钮在没有id或名称的chrome。我找不到要单击唯一标识符为"Yes“的按钮的元素。还有一个"No“按钮。
我已经尝试过使用xpath、类名和findElements函数来查找WebElement。没有什么是成功的。
这是HTML:
<span class="ui-btn-inner">
<span class="ui-btn-text popup-anchor-text">Yes</span>
</span>我试过了:
WebElement yesBtn = browser.findElement(By.xpath("//div[@class='ui-btn-text popup-anchor-text']/span"));
WebElement yesBtn = browser.findElement(By.xpath("//span[.='Yes']"));
WebElement yesBtn = browser.findElement(By.xpath("//div[contains(text(), 'Yes')]"));
WebElement yesBtn = browser.findElement(By.xpath("//button[@class='ui-btn-text popup-anchor-text' and span='Yes']"));
WebElement yesBtn = browser.findElement(By.xpath("//div[@class='ui-btn-text popup-anchor-text' and span='Yes']"));
yesBtn.click();
List<WebElement> yesBtn = browser.findElements(By.className("ui-btn ui-shadow ui-btn-corner-all ui-btn-up-a"));
yesBtn.get(0).click();错误消息: NoSuchElementException;没有这样的元素。找不到元素。
发布于 2019-07-11 19:08:20
正确的XPath定位器应为:
//span[text()='Yes']以防万一你可以去找normalize-space() function
//span[normalize-space()='Yes']如果这不起作用:
driver.switchTo().frame("your-frame");
新的驱动程序(驱动程序、10).until(ExpectedConditions.elementToBeClickable(By.xpath("//spantext()='Yes'"))); WebDriverWait
发布于 2019-07-15 18:50:58
试试//span[@class='ui-btn-inner']/descendant::span[contains(text(), 'Yes')]吧。这应该会有所帮助。
https://stackoverflow.com/questions/56980521
复制相似问题