0

我无法使用浏览器测试与元素交互。它说该元素不可交互或不可见。这不会发生在验收

4

3 回答 3

2

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

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

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

于 2016-02-05T23:16:10.770 回答
0

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

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

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

于 2015-10-15T23:13:06.323 回答
0

您可以使用PhpBrowser

它仅适用于 HTML,然后如何PhantomJs模拟真实的浏览器

但是,PhpBrowser你看不到你的浏览器(我说的只有 HTML)

另一种方法,executeJs如前所述PhantomJs尝试

于 2019-01-14T06:54:20.180 回答