如何用密码抓取一个元素?

How can an element be grabbed with codeception?

假设我们有以下 HTML 代码:

<div>
  <p id="fruit">Apple</p>
</div>

如何抓取 #fruit 并通过代码检测检查其内部 HTML?

Codeception 似乎使用了 executeJSexecuteInSelenium(不推荐) 这种情况。

这是一个使用 executeJS 和 JQuery 的例子:

<?php
  $fruitVal = $I->executeJS('return $(#fruit).val()');
?>

查看更多内容:Codeception docs: executeJS


事实证明,还有另一种 "more natural" 方法来处理这种情况:

这里是一个使用grabAttributeFrom方法的例子:

<?php
  $fruitVal = $I->grabAttributeFrom('#fruit', 'innerHTML');
?>

查看更多信息:Codeception docs: grabAttributeFrom

$fruitVal = $I->grabAttributeFrom('#fruit', 'innerHTML');

不再有效。

改用这个:

$fruitVal = $I->grabTextFrom('#fruit');