简单的send_keys
方法已从v1.28版本中删除
Microsoft Documentation
并替换为send_keys_to_active_element
。我现在无法使用用户名和密码字段登录网站。
以下是以前的库方法。 如何使用v1.28版本执行相同操作?
$sel->wait_for_element_present("name=username");
$sel->type("name=username", $username);
$sel->type("name=password", $password);
$sel->submit("name=Login");
答案 0 :(得分:1)
我认为你对各种CPAN模块感到困惑。您显示的代码使用方法
WWW::Selenium
,
但它没有send_keys
,因为您在代码中使用的是type
Selenium::Remote::WebElement
有一个send_keys
方法。如果要使用此模块,则需要调用find_element
方法之一
从
Selenium::Remote::Driver
获取WebElement
对象,并在其上调用send_keys
。你还需要
Selenium::Waiter
等待给定元素出现的模块
这样的东西应该可行,但是你的问题中没有足够的细节来编写一个完整的演示,我目前无法测试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;