gpt4 book ai didi

javascript - Perl 使用 WWW::Mechanize 设置没有值的单选按钮

转载 作者:行者123 更新时间:2023-12-02 05:05:56 25 4
gpt4 key购买 nike

我不得不说我是 Perl 的新手,到目前为止可能编写了大约 3 或 4 个脚本,而且我发现 Perl 相当容易理解和使用。

无论如何,我当前的脚本有问题。我已经在这个问题上停留了一段时间,似乎找不到解决方法。

在浏览某个网站后,我来到一个页面,让我在两个单选按钮之间单击并点击下载按钮。

我需要让我的脚本选择其中一个按钮并点击下载,但是页面源没​​有给我一个值来在使用 WWW::Mechanize 时将单选按钮设置为.

这里是网页源码的一小部分。

<input type='radio' onclick="url('URL GOES HERE')">

两个按钮就差不多了。我注意到当我选择一个并查看源代码时,代码变为

<input type='radio' checked onclick="url('URL GOES HERE')">

但是我不能让 WWW::Mechanize 自动设置一个,因为我不知道要在值中放入什么。我试过on, checked, onclick, true, checked onclick, selectselected,但是没有用。

这是与此相关的代码行

$mech->set_visible([radio => 'checked onclick']);

任何帮助将不胜感激,也是第一次来这里。

我忘了说我在工作时使用的电脑目前有很多限制。所以我无法在计算机上获取 Firefox 或 Selenium Server。

编辑

我相信我可能遇到的问题还在于这些东西可能在 JavaScript 中。我对 HTML 了解不多,但在我在标题的某处看到 JavaScript 之前,源代码看起来就像是原代码?不管怎样,我记得 WWW::Mechanize 并不真正支持 JavaScript,所以这可能就是问题所在。

谢谢大家的回复,我真的很感激。但是经过大量的挖掘和仔细检查,我和我的老板意识到所有的下载链接都非常相似,我真正需要做的就是让脚本自定义创建下载链接而不是通过遍历多个网页的麻烦。希望我早点看到这个。

最佳答案

HTML::Form不提供 API 来激活未命名的单选按钮。您可以通过深入了解内部结构来了解区别属性。这应该有效(大部分未经测试):

use WWW::Mechanize qw();
my $w = WWW::Mechanize->new;
$w->get('file:///tmp/so11767998.html');
for my $input (($w->forms)[0]->inputs) {
$input->check if q{url('URL GOES HERE')} eq $input->{onclick}
}

关于javascript - Perl 使用 WWW::Mechanize 设置没有值的单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11767998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com