use*_*316 5 ruby nokogiri mechanize-ruby
我有这个:
<a class="top_level_active" href="javascript:Submit('menu_home')">Account Summary</a>
Run Code Online (Sandbox Code Playgroud)
我想点击该链接但是在使用link_to时出现错误.
我试过了:
bot.click(page.link_with(:href => /menu_home/))
bot.click(page.link_with(:class => 'top_level_active'))
bot.click(page.link_with(:href => /Account Summary/))
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:NoMethodError:未定义的方法`[]'为nil:NilClass
Joh*_*hat 13
那是一个javascript链接.Mechanize将无法单击它,因为它不会评估javascript.抱歉!
尝试查看单击该链接时浏览器中发生的情况.它是否创建POST或GET请求?发送到服务器的参数是什么.一旦您知道,您可以在Mechanize脚本中模拟相同的操作.Chrome开发工具/ Firebug将有所帮助.
如果这不起作用,请尝试切换到支持javascript评估的库.我已经使用watir-webdriver取得了巨大的成功,但你也可以尝试使用phantomjs,casperjs,pjscrape或其他工具