如何使用php在Codeception中使用findElements

时间:2015-02-11 12:39:06

标签: php codeception

我有一个页面,其中包含一个包含行数的表。

我需要解决一个逻辑,我需要该表中的行数

在Google搜索后,我发现findElements会完成我的工作。当我尝试这种方法时,我遇到了一个致命的错误:

Fatal error:

Call to a member function findElements() on a non-object webDriver->findElements(\WebDriverBy::id("table-padding"));.

3 个答案:

答案 0 :(得分:1)

我刚看到你的问题,因为我正在寻找同样的事情,我能够以这种方式做到:

$I->executeInSelenium(function(\Facebook\WebDriver\Remote\RemoteWebDriver $webdriver){ //Store current window id

    global $meetings;
    $meetings = $webdriver->findElements(WebDriverBy::cssselector('.today'));

});

我希望这可以帮助您完成项目。

答案 1 :(得分:0)

使用$I->grabMultiple('.items', 'some_attribute')

更好

https://codeception.com/docs/modules/PhpBrowser#grabMultiple


另一种方法是使用DOMDocument

$dom = new \DOMDocument();
@$dom->loadHTML($I->grabPageSource());
$xpath = new \DOMXPath($dom);
$elements = $xpath->query('.items');

答案 2 :(得分:-1)

$els = $this->getModule('WebDriver')->_findElements('.items');

_findElements

隐藏的API方法,预计将从Helper类中使用

使用可用的Codeception定位器类型定位元素:

的XPath CSS 严格的定位器

docs

中查看详情