2012-02-15 14 views
6

ho guardato attraverso gli esempi in queste paginerubino watir per ottenere HTML di una pagina

http://watir.com/examples/ http://wiki.openqa.org/display/WTR/Examples

io ancora non vedo un semplice esempio di ottenere html di una pagina.

browser = Watir::Browser.new 
browser.goto 'mysite.com' 

ho cercato

puts browser.text 

Non sembra lavorare.

Grazie

+0

Sono curioso di sapere perché potrebbe essere necessario l'intero html per la pagina. Lo chiedo perché molte volte questo è un'indicazione che qualcuno ha un'idea piuttosto rotonda su come affrontare qualche sfida di test, e se sappiamo di più su ciò che stai cercando di fare, potremmo essere in grado di mostrare un modo più semplice e diretto come ottenere una porzione più piccola dell'HTML per la cosa che ti interessa o imparare a usare gli strumenti di sviluppo per il tuo browser preferito. –

+0

Mi piacerebbe usare nokogiri per analizzare l'html :) – icn

+1

ok, quindi lascia 'scoppiare il perché stack' ancora una volta. Perché vuoi analizzare l'html con nokogiri? –

risposta

21

Questo dovrebbe farlo:

puts browser.html 
1

IE8, Ruby 1.9.3, Watir 3.0, WindowsXP

Ho bisogno di afferrare il testo in una cella con id = "numberCovered ".

<table cellpadding="0" cellspacing="0" class="thisThemeBodyColor"><tr style="height:22px;"><td id="numberCoveredlabel" style="cursor:default;" class="smallHeadingBlack" width="200">Number of individuals to be covered</td><td id="numberCovered" class="smallHeadingBlack" style="font-weight:bold;">1</td><input type="hidden" name="numberCovered" tooltip="" value="1" onpropertychange="variableAsTextChanged(this);"/></tr><tr><td id="numberSpouseslabel" style="cursor:default;" class="smallHeadingBlack" width="200">Number of spouses to be covered</td><td id="numberSpouses" class="smallHeadingBlack" style="font-weight:bold;">0</td><input type="hidden" name="numberSpouses" tooltip="" value="0" onpropertychange="variableAsTextChanged(this);"/></tr></table> 

Come @icn accennato, un grezzo discarica sorgente della pagina a volte è bello avere come ripiego quando non riesci a trovare un adeguato metodo integrato Watir.

--Update-- La suddetta $ browser.html stato vomitando linee vuote, ma questo seeems di lavorare:

require 'nokogiri' 
page_html = Nokogiri::HTML.parse($browser.html) 
entry = page_html.css('td[id=numberCovered]') 
0

puts browser.html torneranno tutti gli oggetti sulla pagina. Se si desidera solo gli oggetti attivi, è possibile utilizzare puts browser.show_active allo stesso modo se si desidera visualizzare solo i collegamenti che è possibile utilizzare puts browser.show_links che mostrerà tutti i collegamenti nella pagina.

+1

Le funzioni show_active e show_links sono metodi indefiniti. NoMethodError: metodo non definito 'show_links 'per # csalvato

1
puts browser.html 

Tornerà tutto il codice HTML, nel caso in cui si desidera stampare solo gli oggetti attivi, è possibile utilizzare:

puts browser.show_active 

Allo stesso modo se desideri solo i link da stampare, è possibile utilizzare :

puts browser.show_links 
Problemi correlati