使用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;