ruby – 单击与Mechanize的xpath链接

ruby – 单击与Mechanize的xpath链接,第1张

概述我想点击我用xpath(nokogiri)选择的Mechanize的链接. 怎么可能? next_page = page.search "//div[@class='grid-dataset-pager']/span[@class='currentPage']/following-sibling::a[starts-with(@class, 'page')][1]" next_page.c 我想点击我用xpath(nokogiri)选择的Mechanize的链接.

怎么可能?

next_page = page.search "//div[@class='grID-dataset-pager']/span[@class='currentPage']/following-sibling::a[starts-with(@class,'page')][1]"    next_page.click

问题是nokogiri元素没有点击功能.

我无法读取href(URL)并发送get请求,因为链接已定义onclick函数(无href属性).

如果那是不可能的,有哪些替代方案?

解决方法 >当您尝试仅查找一个元素时,请使用 page.at而不是 page.search.
>您可以使用css选择器语法使选择器更简单(更短):

next_page = page.at('div.grID-dataset-pager > span.currentPage + a[class^="page"]')

>如果您有Nokogiri元素,页面和mechanize对象来提供构造函数,您可以构建自己的link实例:

next_link = Mechanize::Page::link.new( next_page,mech,page )next_link.click

>但是,您可能不需要它,因为Mechanize#click允许您提供一个字符串,其中包含要单击的锚点/按钮的文本.

# Assuming this link text is unique on the page,which I SUSPECT it ismech.click next_page.text

>完全重新阅读问题后进行编辑:但是,这一切都不会对您有所帮助,因为Mechanize不是Web浏览器!它没有JavaScript引擎,因此不会(不能)为您执行onclick.为此,您需要使用Ruby来控制真实的Web浏览器,例如使用Watir或Selenium或Celerity等.

总结

以上是内存溢出为你收集整理的ruby – 单击与Mechanize的xpath链接全部内容,希望文章能够帮你解决ruby – 单击与Mechanize的xpath链接所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1255164.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存