ruby – 单击与Mechanize的xpath链接
发布时间:2020-12-17 01:49:57 所属栏目:百科 来源:网络整理
导读:我想点击我用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元素没有
我想点击我用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 >但是,您可能不需要它,因为 # Assuming this link text is unique on the page,which I suspect it is mech.click next_page.text >完全重新阅读问题后进行编辑:但是,这一切都不会对您有所帮助,因为Mechanize不是Web浏览器!它没有JavaScript引擎,因此不会(不能)为您执行onclick.为此,您需要使用Ruby来控制真实的Web浏览器,例如使用Watir或Selenium或Celerity等. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |