找不到Selenium xpath

时间:2015-09-30 00:42:15

标签: java selenium xpath

我在selenium web驱动程序java代码中尝试了xpath("//*[@id='btn-conv-view']")点击按钮,它似乎无法正常工作。 html如下:

<button id="btn-conv-view" class="btn btn-absolute btn-view-dd" role="button" tabindex="-1" aria-haspopup="true" title="More view options" data-action="menu"> 
    <span class="icon-text" id="yui_3_16_0_1_1443572970628_2273">Sort by date</span>
    <b class="icon icon-chevron-down" id="yui_3_16_0_1_1443572970628_2377"></b>
</button>

2 个答案:

答案 0 :(得分:1)

您可以使用以下任何方式找到所需的元素:

driver.findElement(By.id("btn-conv-view")).click();

driver.findElement(By.xpath("id('btn-conv-view')")).click();

driver.findElement(By.CssSelector("#btn-conv-view")).click();

答案 1 :(得分:0)

如果你的id在页面中是唯一的,那么你可以使用id locator来代替xpath。

您可以使用如下ID: -

driver.findElement(By.id("btn-conv-view")).click();

您也可以使用直接在DOM上运行的JavascriptExecutor进行单击。您可以根据自己的方便找到定位器,并在下面的代码中进行更改

WebElement element=driver.findElement(By.id("btn-conv-view"));
JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("arguments[0].click();", element);