我正在探索 Selenium::Remote::Driver - 特别是运行 javascript。
但是,在运行这个过程中 - 我认为这几乎是文档页面中的示例:
use FindBin qw( $RealBin );
use Selenium::Chrome qw( );
$\ = "\n"; $, = "\t";
my $web_driver = Selenium::Chrome->new(
binary => "/usr/bin/chromedriver",
);
print $web_driver->has_javascript;
$web_driver->get($ARGV[0]);
my $script = q{
var arg1 = arguments[0];
var elem = window.document.findElementById(arg1);
return elem;
};
my $elem = $web_driver->execute_script($script,'hnmain');
print $elem;
我收到此错误:
Error while executing command: javascript error: javascript error: window.document.findElementById is not a function
(Session info: chrome=120.0.6099.216) at /home/simone/perl5/perlbrew/perls/perl-5.30.2/lib/site_perl/5.30.2/Selenium/Remote/Driver.pm line 411.
at /home/simone/perl5/perlbrew/perls/perl-5.30.2/lib/site_perl/5.30.2/Selenium/Remote/Driver.pm line 361.
这是为什么呢?我做错了什么?
带有
print $web_driver->has_javascript;
的行打印真实值。
findElementById
应该是
getElementById