使用Selenium在chrome中打开新标签页Facebook PHP Webdriver

xcitsw88  于 2023-04-10  发布在  PHP
关注(0)|答案(4)|浏览(139)

因此,基本的spiel,“我是新的这件事”所谓的Selenium使用Facebook的PHP Webdriver(https://github.com/facebook/php-webdriver),我找不到任何匹配的“如何打开一个新的标签在 chrome ”使用这种特殊的技术。任何帮助将非常感谢。
给你一杯虚拟的咖啡,善良的程序员!

bxpogfeg

bxpogfeg1#

自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]);

更多示例请参见文档。

w6mmgewl

w6mmgewl2#

你可以使用JS解决方案,如:

$webdriver->executeScript("window.open('". $url ."','_blank');", array());
yyhrrdl8

yyhrrdl83#

类似这样的东西应该可以工作:

$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');
zvokhttg

zvokhttg4#

$driver->getKeyboard()->sendKeys(
  array(WebDriverKeys::CONTROL, 't'),
);

相关问题