0

我正在尝试使用 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 

任何人都明白为什么会出现这个问题?

4

1 回答 1

1

尝试switchTo()代替focusWindow()and 也WebDriver作为参数(not WebDriver\Session):

$I->executeInSelenium(function (\Webdriver $webdriver) {
    $handles=$webdriver->getWindowHandles();
    $last_window = end($handles);
    $webdriver->switchTo()->window($last_window);
});
于 2014-06-27T09:17:01.910 回答