css - 单击 ruby​​ 中的链接(已通过 css 找到)

标签 css ruby web-scraping nokogiri mechanize-ruby

i am getting this error by using answer 1我想在本地页面上找到一个链接,然后单击它。现在我成功地找到了一个特定的链接(因为有很多链接属于同一类),但是我无法点击它。这是我的代码:

# encoding: utf-8    
require 'rubygems'
require 'watir-webdriver'
require 'json'
require 'sqlite3'
require 'haml'
require 'data_mapper'
require 'open-uri'
require 'nokogiri'
require 'pp'
require 'mysql'
require 'dbi'
require 'mechanize'

page_html = Nokogiri::HTML(open("My Library   book.com.htm"))
page_html.css("div.adbl-lib-content
table")[0].css('tbody').css('tr')[8].css('td')[9].css('div').css('a')

我得到了这个结果:

<a style="color: #FFF; font-family: Arial; font-size: 11px; font-weight: bold; background-color: #333333; padding: 2px 8px;" title="Click to download" class="adbl-download-it" href="#">DOWNLOAD</a>

我怎样才能点击这个链接?

最佳答案

我相信您必须使用 Mechanize 的页面对象。然后,您可以手动构建链接对象并对其调用 click:

mechanize = Mechanize.new
page = mechanize.get "book.com.htm"
link_node = page.css("div.adbl-lib-content
table")[0].css('tbody').css('tr')[8].css('td')[9].css('div').css('a')

Mechanize::Page::Link.new(link_node, mechanize, page).click

关于css - 单击 ruby​​ 中的链接(已通过 css 找到),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24256662/

相关文章:

jquery - 数据目标上的导航栏折叠不会在点击时折叠/展开

ruby-on-rails - 在一个项目中使用两个不同的数据库

ruby-on-rails - Ruby - 数组 A 是否包含数组 B 的所有元素

java - HtmlUnit vk授权

asp.net - Html-Agility-Pack 未加载包含完整内容的页面?

python - 从网站提取的值创建 .xls 文件

html - 背景图片自动缩放宽度固定高度

html - 立方体的水平对齐

css - selenium 在 Instagram 登录页面上找不到 CSS 选择器

ruby - 为什么我不需要为 Net::HTTP SSL 请求指定 CA bundle ?