2010-09-12 140 views
0

我搜索了很多,但无法找到我的问题的解决方案。我认为这很简单。自动点击JavaScript链接并获取结果页面

我打开了一个网页,提供了一些参数,如id=123456。搜索结果页面包含一个链接,如javascript:doSomething('ABC','ID'=123456)

我想知道的是,是否有程序,在perl,python,java,c,不管怎样,都可以将id作为参数,并自动点击javascript链接,并获取内容结果页面。

你有解决这个问题的办法吗?

非常感谢!

弗兰克

+0

'doSomething'是否可预测地重定向到其他页面?你可以看一下Javascript源代码并找出它的作用,然后重现该行为? – Matchu 2010-09-12 02:19:38

+0

嗨,路易斯,非常感谢您的回复。是的,我按照你的说法尝试过。不幸的是,它重定向到像sourceSite这样的页面?parm = someVeryLongString,其中someVeryLongString长度大约为340个字符且不可预测。 -Frank – frank 2010-09-12 02:48:34

+1

那么你想要刮页面吗? – NullUserException 2010-09-12 02:57:49

回答

0

可以模拟DOM click事件:

function ClickID(id) { 
    var event = document.createEvent('MouseEvents'); 
    event.initEvent('click', true, true); 
    document.getElementById(id).dispatchEvent(event); 
}
+0

嗨NullUserException,我不是要刮页面。它包含数百万条记录,并且我试图在没有手动点击的情况下获取数百条记录。 – frank 2010-09-12 03:45:03

+0

嗨德兰Azabani,非常感谢您的答案。不幸的是我只知道一点javascript。看起来你的代码是一个JavaScript代码。然后我必须打开一个包含这段代码的网页吗?我怎样才能使用程序来获取数据?对不起,这种愚蠢的问题。此外,它看起来我需要提供点击元素的ID。不幸的是,该页面似乎没有它。这里是页面源代码:Click_Showname任何想法?谢谢! -坦率 – frank 2010-09-12 03:50:20

0

这不是正确的答案,我的一般性问题,但没有解决我的问题。所以我发布了我所做的事情,并希望在遇到同样问题时帮助其他人。

基本上我工作在javscript。我查看了页面的源代码,发现了一些隐藏的参数。约300个字符参数,我认为是不可预测的,在那里!所以我抓住了机械化的价值,并使用参数和宾果浏览一个新的网址,它的作品!

所以我的经验是看网页的来源,并做一些猜测。

相关问题