Katalon硒元素可见,但显示为假

时间:2018-09-05 05:45:10

标签: javascript java selenium groovy katalon-studio

我正在尝试使用vuetify和硒/加仑在vue js中单击一个按钮。它在用户界面中完全可见,但仍然可以单击。我可以找到没有问题的元素,但是单击它会返回一个元素不可见的错误。我尝试了各种solutions,包括:

  • 使用javascript单击(js执行单击脚本,但不单击按钮)
  • 使用Action类移动到元素,然后单击它(它不会移动到元素)
  • 聚焦并滚动到元素
  • 等待
  • 切换到活动元素,默认内容和最大化窗口
  • 没有显示任何父元素的父元素

调试时,我注意到以下内容:

// Able to find element with no issues
WebDriver driver = DriverFactory.getWebDriver();
String xPathForButton = "//div[@id='validationStepper']/div[3]/div[1]/div/div[2]/fieldset/div[1]/div/div/div/div[3]/button[1]";
def element = driver.findElement(By.xpath(xPath));
// Element not visible exception
element.click();

KeywordUtil.logInfo('X: ' + element.getLocation().x); // Prints 0
KeywordUtil.logInfo('Y: ' + element.getLocation().y); // Prints 0
KeywordUtil.logInfo('Element is enabled: ' + element.isEnabled()); // Prints true
KeywordUtil.logInfo('Element is displayed: ' + element.isDisplayed()); // Prints false

我需要使用xpath查找此元素。有人可以帮助我如何正确检测并单击此元素吗?

1 个答案:

答案 0 :(得分:0)

原来的问题是,运行时父元素是display: none。虽然最初没有父元素,但没有显示父元素,但是CSS动态更改,导致发生这种情况。我进行了更正,之后该元素可见。