使用 Selenium Facebook PHP Webdriver 在 chrome 中打开新标签
Open new tab in chrome using Selenium Facebook PHP Webdriver
所以基本的技巧,"I am new to this thing" 使用 Facebook 的 PHP Webdriver (https://github.com/facebook/php-webdriver) 调用了 Selenium,我找不到任何匹配 "How to open a new tab in chrome" 使用这种特殊技术的东西。任何帮助将不胜感激。
给你一杯虚拟咖啡,善良的程序员!
像这样的东西应该可以工作:
$driver = RemoteWebDriver::create($host, DesiredCapabilities::chrome());
$driver->get('http://mine.com');
// Via driver: http://facebook.github.io/php-webdriver/classes/RemoteWebDriver.html#property_keyboard
$kbd = $driver->getKeyboard();
$kbd->sendKeys(WebDriverKeys.CONTROL,'t');
// Via an element: http://facebook.github.io/php-webdriver/classes/WebDriverElement.html#method_sendKeys
$element = $driver->findElement(WebDriverBy::id('somethingOnScreen'));
$element->sendKeys(WebDriverKeys.CONTROL,'t');
$driver->getKeyboard()->sendKeys(
array(WebDriverKeys::CONTROL, 't'),
);
您可以使用 JS 解决方案,例如:
$webdriver->executeScript("window.open('". $url ."','_blank');", array());
自 php-webdriver 1.10.0 以来的新方法:
// Default behavior, without specifying window type
$driver->switchTo()->newWindow();
// Open new window
$driver->switchTo()->newWindow(WebDriverTargetLocator::WINDOW_TYPE_WINDOW);
// Open new tab
$driver->switchTo()->newWindow(WebDriverTargetLocator::WINDOW_TYPE_TAB);
$driver->switchTo()->window($driver->getWindowHandles()[1]);
有关更多示例,请参阅 doucmentation。
所以基本的技巧,"I am new to this thing" 使用 Facebook 的 PHP Webdriver (https://github.com/facebook/php-webdriver) 调用了 Selenium,我找不到任何匹配 "How to open a new tab in chrome" 使用这种特殊技术的东西。任何帮助将不胜感激。
给你一杯虚拟咖啡,善良的程序员!
像这样的东西应该可以工作:
$driver = RemoteWebDriver::create($host, DesiredCapabilities::chrome());
$driver->get('http://mine.com');
// Via driver: http://facebook.github.io/php-webdriver/classes/RemoteWebDriver.html#property_keyboard
$kbd = $driver->getKeyboard();
$kbd->sendKeys(WebDriverKeys.CONTROL,'t');
// Via an element: http://facebook.github.io/php-webdriver/classes/WebDriverElement.html#method_sendKeys
$element = $driver->findElement(WebDriverBy::id('somethingOnScreen'));
$element->sendKeys(WebDriverKeys.CONTROL,'t');
$driver->getKeyboard()->sendKeys(
array(WebDriverKeys::CONTROL, 't'),
);
您可以使用 JS 解决方案,例如:
$webdriver->executeScript("window.open('". $url ."','_blank');", array());
自 php-webdriver 1.10.0 以来的新方法:
// Default behavior, without specifying window type
$driver->switchTo()->newWindow();
// Open new window
$driver->switchTo()->newWindow(WebDriverTargetLocator::WINDOW_TYPE_WINDOW);
// Open new tab
$driver->switchTo()->newWindow(WebDriverTargetLocator::WINDOW_TYPE_TAB);
$driver->switchTo()->window($driver->getWindowHandles()[1]);
有关更多示例,请参阅 doucmentation。