我正在使用 Selenium::Remote::Driver 模块,我想使用 perl 语言在 firefox 浏览器中打开新选项卡,您能否建议我必须使用哪种方法。
**tabsprogram.pl**
use Selenium::Remote::Driver;
use Selenium::Remote::WDKeys;
my $driver = Selenium::Remote::Driver->new();
if(defined $driver)
{
$driver->get("https://www.google.co.in/");
$driver->set_implicit_wait_timeout(40000);
$driver->find_element('body','tag_name')->send_keys(KEYS->{'Ctrl','t'});# the element is find but tab is not clicked
}
但是我没有收到任何错误消息,新选项卡也未打开并且驱动程序已退出。 请帮助我......
最佳答案
我这样做是为了让它工作
$driver->send_keys_to_active_element(KEYS->{'command_meta'}, 't');
但是我在 Mac 上,Firefox 希望 Meta-T 打开一个新选项卡
如果你这样做
perldoc -l Selenium::Remote::WDKeys
要获取模块的位置,然后查看它,它有类似的内容
use constant KEYS => {
'null' => "\N{U+E000}",
'cancel' => "\N{U+E001}",
'help' => "\N{U+E002}",
'backspace' => "\N{U+E003}",
'tab' => "\N{U+E004}",
'clear' => "\N{U+E005}",
'return' => "\N{U+E006}",
'enter' => "\N{U+E007}",
'shift' => "\N{U+E008}",
'control' => "\N{U+E009}",
因此您可能需要使用“control”一词而不是“Ctrl”,并且您可以在不使用 KEYS 的情况下传递“t”->
这些是根据模块 http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/element/:id/value 中的链接使用的控制键
关于perl - 如何使用 perl 语言在 selenium 远程驱动程序中打开新选项卡并打开 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20421930/