无法单击WebElement

时间:2015-09-01 10:25:24

标签: java css selenium selenium-webdriver

在selenium我得到的网页元素我要选择WebElement.IsDisplayed()返回true 但我无法执行webelement.click()操作。

 port_dimension = canvas.find( By.xpath( "//*[local-name() = 'rect'][@visibility='visible' and @height = '22']" ) ); //$NON-NLS-1$
 port_dimension.getElement().click();

2 个答案:

答案 0 :(得分:1)

您也可以点击WebElement而不使用getElement()功能。这是怎样的 -

driver.findElement(By.xpath("//*[local-name() = 'rect'][@visibility='visible' and @height = '22']")).click();

如果您的xpath定位器按要求工作,则应单击该元素。如果您仍然遇到问题,那么可能在点击操作之前添加Thread.sleep(5000);的睡眠事件。希望这会有所帮助。

答案 1 :(得分:1)

您也可以点击使用JavascriptExecutor

  WebElement element=driver.findElement(By.xpath("//*[local-name() = 'rect'][@visibility='visible' and @height = '22']"));
  JavascriptExecutor executor = (JavascriptExecutor) driver;
  executor.executeScript("arguments[0].click();", element);

现在我预测你的xpath很好,在某些情况下需要等待,所以如果你仍然面临问题就等待。所以

njoy ...如果仍然面临问题,请回复我:)