Ruby Watir: отображение гиперссылок из поиска Chrome - PullRequest
0 голосов
/ 21 декабря 2018

Цель: распечатать массив гиперссылок, найденных по паре ключевых слов, введенных в поисковую систему, в данном случае chrome с использованием Watir.

Вот мой код ниже, чтобы нормально работать над последнимигод.Протестировал его много раз, но что-то изменилось в рамках Chrome и элементов или селекторов, или, возможно, watir устарел в некоторых функциях, но я использую очень мало строк кода ruby.Он просто зависает. ( Редактировать Никаких результатов в терминале не происходит, фактически не зависает) Я прошел через это кропотливо и только еще одну ссылку с аналогичным случаем, где я получил свой предыдущий код от, но теперь это больше не работает: Показать URL-адрес найденных ссылок в командной строке с watir

require 'watir'
browser = Watir::Browser.new:chrome

browser.goto 'google.com'
browser.text_field(title: 'Search').set 'watir + ruby'
browser.button(name: 'btnK').click
sleep 3
links = browser.h3s(class: 'r').map(&:link)
hrefs = links.map(&:href)
links.each { |link| puts "#{link.data_href || link.href}" }

sleep(900)

Желаемый вывод (используется для работы) Терминал Отображение гиперссылок

1 Ответ

0 голосов
/ 22 декабря 2018

Рабочий скрипт теперь выдает гиперссылки на результаты поиска (кредит Джастину Ко):

require 'watir'
browser = Watir::Browser.new:chrome

browser.goto 'google.com'
browser.text_field(title: 'Search').set 'watir + ruby'
browser.button(name: 'btnK').click
sleep 3
puts browser.title
links = browser.divs(class: 'r').map(&:link)
hrefs = links.map(&:href)
# hrefs.each { |href| puts href }
links.each { |link| puts "#{link.data_href || link.href}" }

sleep(900)

введите описание изображения здесь

...