我正在尝试使用WebDriver在代码中切换到新打开的窗口。 我使用了手册中的代码,所以:
$I->executeInSelenium(function (\Webdriver\Session $webdriver) {
$handles=$webdriver->window_handles();
$last_window = end($handles);
$webdriver->focusWindow($last_window);
});
不幸的是,webdriver由于某种原因不是Webdriver \ Session的实例而是RemoteDriver
的实例 [ErrorException] Argument 1 passed to
Codeception\Module\magicguyHelper::Codeception\Module\{closure}()
must be an instance of WebDriver\Session, instance of RemoteWebDriver given,
called in
phar:///tester/codecept.phar/src/Codeception/Module/WebDriver.php
on line 1038 and defined
任何人都明白为什么会出现这个问题?
答案 0 :(得分:1)
尝试switchTo()
代替focusWindow()
和WebDriver
作为参数(不是WebDriver\Session
):
$I->executeInSelenium(function (\Webdriver $webdriver) {
$handles=$webdriver->getWindowHandles();
$last_window = end($handles);
$webdriver->switchTo()->window($last_window);
});