我习惯于使用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