Ich habe diese Methode erstellt, um die Links in einem bestimmten div auf der Website durchlaufen. Mein Ziel der Methode ist es, die Links zu sammeln, sie in ein Array einzufügen und dann auf jedes einzelne zu klicken.Ruby Watir - Versuchen, Links in cnn.com zu durchlaufen und klicken Sie auf jede von ihnen
require 'watir-webdriver'
require 'watir-webdriver/wait'
site = Watir::Browser.new :chrome
url = "http://www.cnn.com/"
site.goto url
box = Array.new
container = site.div(class: "column zn__column--idx-1")
wanted_links = container.links
box << wanted_links
wanted_links.each do |link|
link.click
site.goto url
site.div(id: "nav__plain-header").wait_until_present
end
site.close
Bisher scheint es, wie ich nur in der Lage bin auf dem ersten Link klicken, um dann eine Fehlermeldung erhalten, die besagt dies:
unable to locate element, using {:element=>#<Selenium::WebDriver::Element:0x634e0a5400fdfade id="0.06177683611003881-3">} (Watir::Exception::UnknownObjectException)
Ich bin sehr neu in Ruby. Ich schätze jede Hilfe. Vielen Dank.
Das war großartig. Danke für die Info @Justin Ko – Haftah
Hey Justin Ich habe diese Methode auch versucht, aber ich bekomme immer noch eine Fehlermeldung "undefined Methode' klicken '". Hier ist die Methode im nächsten Kommentar. Danke – Haftah
‚require 'watir-WebDriver watir-WebDriver/wait ' site = Watir :: Browser.new' require': chrom url = "http://www.cnn.com/" site.goto url Container = site.div (Klasse: "Spalte zn__column - IDX-1") wanted_links = container.links.collect (&: text) puts wanted_links wanted_links [1] .click‘ – Haftah