Codeception ElementNotVisibleException错误,无法选择选项或单击

时间:2015-10-15 23:10:04

标签: testing selenium-webdriver codeception acceptance-testing user-acceptance-testing

我无法使用浏览器测试与元素进行交互。它表示该元素不具有交互性,或者不可见。这在接受

中不会发生

3 个答案:

答案 0 :(得分:2)

有时候这个解决方案不起作用,因为该元素因其他一些神秘的原因而无法使用 我们遇到的情况是我们无法使用<select>元素来选择其中一个选项 此外,选择该选项时,“更改”事件会触发行为 我们能够像这样解决它。

$js = "jQuery('#chosen-option-quantity-2').val('2').trigger('change');";
$I->executeJS($js);

所以第一个命令选择该选项,第二个命令触发改变事件 我希望这对某人有所帮助,即使将来是我。

答案 1 :(得分:0)

这里发生的问题是html元素被某些东西隐藏,可能是css。因为它是隐藏的(显示:无),WebDriver无法看到它,因此无法与之交互。 为了解决这个问题,你需要使用JS来隐藏元素。

使用此$I->executeJS('jQuery("#your-css-selector").show()');

在验收测试中不会发生这种情况,因为PHP浏览器会查看页面源,因此可以看到所有内容,而WebDriver会看到用户在浏览器上看到的内容。

答案 2 :(得分:0)

您可以使用1871587600

它仅适用于HTML,然后与PhpBrowser如何模拟真实的浏览器一起使用

但是,使用PhantomJs时,您看不到浏览器(只有我说过的HTML)

另一种方法,如前所述,尝试将PhpBrowserexecuteJs一起