PHP의 Simple HTML DOM Parser (SHDP)을 사용하여 요소에 액세스하는 데 익숙하지만, 이제는 watir-webdriver와 함께 루비를 사용하고 있으며, 페이지에서 요소에 액세스 할 때 SHDP의 기능을 대체 할 수 있는지 궁금합니다. .watir-webdriver를 사용하여 DOM (어린이/형제)를 트래버스하는 방법은 무엇입니까?
그래서 SHDP에서 나는이 작업을 수행 할 것 : id=foo
와 div
의 모든 인스턴스의 배열이
$ret = $html->find('div[id=foo]');
합니다. 아, $html
은 지정된 URL의 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()
(나는 일곱이 통지) id=foo
와 부모 div
의 자식 후 나는 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-이송 능력을 얻을 수있는 방법 :
enter image description here Watir과 - webdriver이 작업을 수행 할 수없는 경우, 내가 갈거야 때문에 물어
watir-webdriver에서 브라우저 인스턴스의 소스를 SHDP를 사용하는 PHP 스크립트로 파이프하는 방법을 찾아 내야하고, 어떻게 든 그것을 관련 정보가 포함 된 루비로 가져와야합니다 ...
문서/참고 자료는 도움이 될 것입니다. – Forwarding