我有一个页面,其中包含一个包含行数的表。
我需要解决一个逻辑,我需要该表中的行数
在Google搜索后,我发现findElements
会完成我的工作。当我尝试这种方法时,我遇到了一个致命的错误:
Fatal error:
Call to a member function findElements() on a non-object webDriver->findElements(\WebDriverBy::id("table-padding"));.
答案 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
中查看详情