我无法使用浏览器测试与元素交互。它说该元素不可交互或不可见。这不会发生在验收
问问题
1625 次
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 回答