내 웹 사이트에는 다음과 같은 이미지 버튼이 2 개 있습니다.
<img class="img" src="img.png" alt="Image">
<img class="img" src="img.png" alt="Image">
이것은 내 코드입니다.
this.click('img[src="img.png"]');
이 코드는 첫 번째 버튼 만 클릭합니다.
하지만 어떻게 두 번째 버튼 만 클릭 할 수 있습니까?
예, XPath 사용 :
var x = require('casper').selectXPath;
...
this.click(x('(//img[@src="img.png"])[2]'));
설명:
//
루트의 모든 하위 노드에서 "검색"img[@src="img.png"]
img와 일치 (두 이미지 모두)(nodelist)[2]
두 번째 결과를 취합니다. nodelist
중요한 부분은 마지막 요점입니다. CSS 선택자는 일반적인 방식으로 해당 연산자를 가지고 있지 않지만 비슷한 것이 있기 때문입니다.
이미지에 동일한 상위가 있고 동일한 상위 아래에 다른 이미지가없는 경우 다음을 수행 할 수 있습니다.
this.click('img[src="img.png"]:nth-child(2)');
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다