Selenium - 无法找到元素

时间:2017-12-12 10:46:12

标签: selenium

我是Selenium Web应用程序自动化测试的新手。我试图在按钮上执行点击操作。任何人都可以帮我从html元素下面取任何定位器:

<div class="sapUi2LpbOverflowRight sapSuitePBSprite16">
        <button type="button" id="__xmlview0--overflowRight" data-sap-ui="__xmlview0--overflowRight" aria-describedby="__xmlview0--ariaRightButton" role="button" aria-disabled="false" tabindex="-1" class="sapUiBtn sapUiBtnNorm sapUiBtnS sapUiBtnStd" title="Next   " style="display: block;"></button>
</div>

4 个答案:

答案 0 :(得分:0)

如果您查看WebElement的属性似乎WebElement叠加,那么我们必须诱导 WebDriverWait 对于可点击的元素,如下所示:

WebDriverWait wait_me = new WebDriverWait(driver, 20);
wait_me.until(ExpectedConditions.elementToBeClickable(By.xpath("//button[@class='sapUiBtn sapUiBtnNorm sapUiBtnS sapUiBtnStd']"))).click();

答案 1 :(得分:0)

请使用以下代码:

driver.findElement(By.id("__xmlview0--overflowRight")).click();

答案 2 :(得分:0)

尝试使用按钮的xpath

driver.findElement(By.xpath("//div[@id='__xmlview0--overflowRight'])).click();

否则,如果元素的hidden属性为true,则可能需要实现ExplicitWait。

答案 3 :(得分:0)

您可以尝试使用Id:

driver.find_element_by_id("__xmlview0--overflowRight").click()

如果&#34;没有这样的元素&#34;显示错误然后你可以把time.sleep

time.sleep(30)
driver.find_element_by_id("__xmlview0--overflowRight").click()