我不得不说我是Perl的新手,可能已经制作了大约3或4个脚本,而且我发现Perl很容易理解和使用。Perl使用WWW :: Mechanize设置一个没有任何价值的单选按钮
不管怎样,我的当前脚本有问题。我一直被困在这个问题上,似乎无法找到解决办法。
遍历某个网站后,我来到一个页面,让我点击两个单选按钮并点击下载按钮。
我需要让我的脚本选择任一按钮并点击下载,但页面的源并没有给我一个值来设置单选按钮时使用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
,select
,selected
,但无济于事。
这里是代码行,涉及到这个
$mech->set_visible([radio => 'checked onclick']);
任何帮助,将不胜感激,第一次在这里。
我忘了提及我现在在工作中有很多限制的计算机。所以我无法在电脑上安装Firefox或Selenium Server。
编辑
我相信,我可能也有问题的是,这东西可能是在JavaScript中。我对HTML没有多少了解,但是源代码看起来像是这样,直到我在标题的某处看到JavaScript?无论如何,我记得WWW::Mechanize
并不真的支持JavaScript,所以也许这是问题所在。
感谢回复的家伙,我真的很感激它。但经过大量的仔细检查后,我的老板和我意识到所有的下载链接都非常相似,我真正需要做的就是让脚本自定义创建链接到下载,而不是通过taversing多个网页的麻烦。希望我更早看到这一点。
我是Perl的WWW :: Mechanize的忠实粉丝,但在这种情况下,我想你可能会使用Python机械化获得更多运气。看看这个相关的[问题和答案](http://stackoverflow.com/questions/3798138/how-to-select-a-radio-button)。 – David 2012-08-01 22:38:24
你的单选按钮没有'name'属性吗? – Borodin 2012-08-01 22:43:03
@Borodin单选按钮通常使用相同的名称,因此它们是互斥的。也就是说,当您选择一个名称时,将取消选择具有相同名称的所有其他名称。因此,为了检查每个单选按钮的设置,您需要使用某种索引来引用它们,因为它们都共享相同的名称。 Python机械化支持这一点,但Perl的WWW :: Mechanize不支持。 – David 2012-08-01 22:53:10