所以这是控制器的代码,我试图使用它。
class ScraperController < ApplicationController
def getinformation
require 'watir-webdriver'
require 'phantomjs'
@browser = Watir::Browser.new:phantomjs
@browser.goto "http://reddit.com"
@divs = @browser.divs(class: "title may-blank ")
end
end
在视图页面上,我有&lt;%= @ divs.length%&gt;它输出0.当我输入&lt;%= browser.title%&gt;它在视图页面上给了我&#34; reddit:互联网的首页&#34;,所以我知道我从网页上得到了一些东西。
我发现div类&#34;标题可能是空白&#34;通过检查主页上某些帖子的标题,我尝试使用div类&#34;标题可能空白&#34;和&#34;标题可能是空白&#34;。一个是最后的空间,它在红色页面上检查时的显示方式以及最后没有空格的方式。两个都没有给我任何东西。
答案 0 :(得分:4)
假设你正试图找到:
<a class="title may-blank outbound" data-event-action="title" href="https://i.redd.it/kxtpiskh9mez.jpg" tabindex="1" data-href-url="https://i.redd.it/kxtpiskh9mez.jpg" data-outbound-url="https://out.reddit.com/t3_6si8wj?url=https%3A%2F%2Fi.redd.it%2Fkxtpiskh9mez.jpg&token=AQAAKQiLWXNK30ZkH9-TplVYPCVEIJwNWgqFZCdFuOc3O5l1c7M1&app_name=reddit.com" data-outbound-expiration="1502283817000" rel="">Fries</a>
问题是元素是a
而不是div
。你至少需要这样做:
@browser.links(class: "title may-blank ")
虽然这会返回结果,但可能不是您所期望的一切。在Watir中也不推荐支持String
中的多个类。
我认为你真的只想:
@browser.links(class: "title")
如果您确实需要这两个课程,请使用:
@browser.links(class: ["title", "may-blank"])