在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();
答案 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 ...如果仍然面临问题,请回复我:)