Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Perl库Selenium::Remote::Driver v1.28登录网站_Perl_Selenium - Fatal编程技术网

使用Perl库Selenium::Remote::Driver v1.28登录网站

使用Perl库Selenium::Remote::Driver v1.28登录网站,perl,selenium,Perl,Selenium,简单的send_keys方法已从v1.28版本的中删除 并替换为send\u keys\u to\u active\u element。我现在无法使用用户名和密码字段登录到网站 下面是以前的库方法。 如何使用v1.28版本实现同样的功能 $sel->wait_for_element_present("name=username"); $sel->type("name=usernam

简单的
send_keys
方法已从v1.28版本的中删除 并替换为
send\u keys\u to\u active\u element
。我现在无法使用用户名和密码字段登录到网站

下面是以前的库方法。 如何使用v1.28版本实现同样的功能

$sel->wait_for_element_present("name=username");                                                    
$sel->type("name=username", $username);
$sel->type("name=password", $password);
$sel->submit("name=Login");

我认为您对各种CPAN模块感到困惑。显示的代码使用来自的方法 , 但是它没有
send_键
,因为代码中使用了
类型

有一个
send_keys
方法。如果要使用此模块,则需要调用
find\u元素之一
方法 从…起 获取
WebElement
对象,并调用
send\u keys
。您还需要 模块等待给定元素出现

类似的东西应该可以工作,但是您的问题中没有足够的细节让我编写完整的演示,而且我目前没有办法测试Perl代码

use Selenium::Remote::Driver;
use Selenium::Waiter qw/ wait_until /;

my $driver = Selenium::Remote::Driver->new(...);

$driver->get(...);

wait_until({
    $driver->find_element_by_name('username')
})->send_keys($username);

$driver->find_element_by_name('password')->send_keys($password);

$driver->find_element_by_name('Login')->submit;