我想在本地页面上找到一个链接,然后单击它。现在我成功地找到了一个特定的链接(因为有很多链接属于同一类),但是我无法点击它。这是我的代码:
# 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/