我習慣於使用PHP的Simple HTML DOM Parser(SHDP)來訪問元素,但我現在使用的是與watir-webdriver的ruby,我想知道這是否可以取代SHDP的功能,只要訪問網頁上的元素。如何使用watir-webdriver遍歷DOM(子/姐妹)?
所以在SHDP我應該這樣做:
$ret = $html->find('div[id=foo]');
這與id=foo
的div
一切都實例的數組。哦,$html
是指定網址的HTML源代碼。無論如何,所以後來我把它放在一個循環:
foreach($ret as $element)
echo $element->first_child()->first_child()->first_child()->first_child()->first_child()->first_child()->first_child()->plaintext . '<br>';
現在,在這裏,每個->first_child()
是父div
與id=foo
(請注意,我有七)一個孩子,然後我打印7日明文兒童。像這樣的東西
<div id="foo">
<div ...>
<div ...>
<div ...>
<div ...>
<div ...>
<div ...>
<div ...>HAPPINESS</div>
</div>
</div>
</div>
</div>
</div>
</div
</div>
會打印「HAPPINESS」。所以,我的問題是,如何使用watir-webdriver完成這項工作(如果可能的話)?
此外,一般多,我怎麼能得到的Watir-webdriver的SHDP的DOM穿越能力:
我問,因爲如果的Watir-webdriver的不能做到這一點,我要去必須找出一種方法,將watir-webdriver中的瀏覽器實例的源代碼傳遞給使用SHDP的PHP腳本並以此方式獲取,並以某種方式將其返回給相關信息的ruby ...
文檔/參考將是偉大的。 – Forwarding