Чтобы использовать DOM Inspector для кнопки «Дополнительно»:
- Откройте DOM Inspector (Ctrl + Shift + I)
- Нажмите кнопку [More], которую вы хотите проверить
- В правой части панели Инспектора DOM нажмите кнопку [HTML]
- Это должно отобразить HTML-код страницы, который будет содержать подробности элемента управления [More].Вы заметите, что элемент на самом деле DIV, а не кнопка.А также, что идентификатор находится в форме "_more".
-> Это должно показать HTML-код страницы, который покажет детали элемента управления [More].Вы заметите, что элемент на самом деле DIV, а не кнопка.А также, что идентификатор имеет вид "_more".
Итак, чтобы сделать ваш пример со страницей Quora, вы должны сделать что-то вроде:
require 'watir-webdriver'
class QuoraPage
def initialize(browser)
@browser = browser
end
def goto()
@browser.goto 'http://www.quora.com/Startups/best_questions'
wait_questions_loaded
end
def click_more()
@browser.div(:id, /_more/).click
wait_questions_loaded
end
def questions_count()
@browser.links(:class, 'question_link').count{ |x| x.visible? }
end
def wait_questions_loaded()
begin
questions_start_count = questions_count()
sleep(2)
end while questions_start_count != questions_count()
end
end
page = QuoraPage.new(Watir::Browser.new :chrome)
page.goto
puts page.questions_count
page.click_more
puts page.questions_count
Обратите внимание, что мне пришлось поставитьиначе спит вебдрайвер, как анонимный гусь.Я пробовал разные wait_untils, но мне не удалось найти что-то, что работало (кроме сна, который не очень надежен).
Относительно вашего вопроса об узлах, элементах и т. Д. Я думаю, что вам лучше посмотреть1020 *http://www.w3schools.com/dom/default.asp.