2012-10-12 7 views
6

Oto studium przypadku:Watir nie można odnaleźć elementy widzę w Chrome DOM Inspector

<html> 
... 
<embed name="foo"> 
<embed name="bar"> 
... 
</html> 

Próbuję odwołać elementu embed o nazwie „bar” Korzystanie Watir Ruby API. Element jest wyświetlany przez DOM Inspector w Chrome, ale nie mogę go znaleźć, korzystając z metod wyszukiwania Watir:

browser.embeds() # only <embed name="foo"> is found 
browser.html.include? 'bar' # => false 

Dlaczego tak się dzieje? Dlaczego Watir nie wyświetla pełnego kodu HTML? Jeśli mam elementy w różnych ramkach lub dynamicznie wstawiane przez funkcje init JavaScript, czy będą dostępne za pomocą Watira?

Dzięki

+0

Czy te tagi prawidłowo zamknięte? – tadman

Odpowiedz

3

Jeśli element jest w ramce, trzeba użyć czegoś takiego:

browser.frame(:id => "frameid").embed(:name => "bar") 
+0

Dzięki! Teraz szukam najlepszego sposobu na przechodzenie przez wszystkie elementy iFrame, ponieważ nie wiem, gdzie dokładnie będzie ramka zawierająca element osadzania. – Juliano

+0

Utwórz nowe pytanie. –