2013-02-24 40 views
0

如果标题混乱,我很抱歉。通过Ruby构建JavaScript请求

我想抓我的工作的网站更新我的日程安排。我使用机械化Ruby。不过,我已成功登录到我的工作网站,但登录后,所有链接都是JavaScript链接,这与Mechanize不能很好地协作。

经过一番研究,我看到了一些类似问题的建议;我没有点击链接,而是模仿链接正在制作的请求,尽管我不确定如何做到这一点。

链接背后的代码是:

<a href="JavaScript:document.getElementById('schedForm').submit()">My Work Schedule </a> 

如何可能我在Ruby的解决呢?有什么建议么?

回答

2

当链接被点击时,它会提交一个表单。 要完成与机械化相同的事情:

page.form(:id => 'schedForm').submit 
+0

简直不敢相信。非常感谢。我正要使这个项目变得更加艰难。 – Rickmasta 2013-02-25 00:42:48

+0

是的,通常有一个简单的解决方案。放弃并改用watir几乎总是一个错误。 – pguardiario 2013-02-25 01:26:58

0

据我所知,Mechanize无法进行JavaScript调用。如果您需要与JavaScript交互,我会推荐Watir

+1

Mechanize可以调用JavaScript的URL,但它不能解释JavaScript。 Watir也不能,但Watir控制的浏览器可以,而Watir可以在浏览器之前和之后询问浏览器的状态。 – 2013-02-25 03:05:50

+0

你绝对正确,我没有正确表达我的答案。 – fmendez 2013-02-25 03:11:04