2011-09-01 3 views
0

다음 html 코드는 제품을 추가하는 팝업을 생성합니다. xpath 또는 css를 찾으려고 노력하면 셀렌에서 작동하여 "추가"버튼을 클릭하여 새 제품을 추가 할 수 있습니다.다음 HTML 스 니펫에 xpath 또는 CSS가 필요함

하나의 세션에서만 작동하는이 xpath // div [18]/div [2]/div/버튼을 사용하여 시도했습니다. 브라우저를 닫고 다시 열면 xpath가 작동하지 않습니다. 그래서 div [number]를 div에 전달할 필요가없는 xpath를 어떻게 작성할 수 있을까요?

<div style="height: auto; min-height: 104px; width: auto;" class="dialog ui-dialog-content ui-widget-content"> 
<fieldset><legend>search</legend> 
<div id="nameorids"> 
<input type="radio">name 
<input type="radio">id 
</fieldset> 
<div style="clear: both; padding-top: 5px; float: right;"><button class="add">add</button></div></div> 

답변

0

우선,이 HTML은 사용할 수 없습니다 다음 필드 셋이 종료되기 전에 nameorids 사업부는 폐쇄되지 않습니다. 오식?

HTML에 영향을 줄 수있는 경우 외부 div에 ID 또는 클래스 속성을 추가하여 CSS 선택기로 태그를 지정할 수 있습니다. 예 : HTML을 다음과 같이 만들 수있는 경우

<div id="foo" ... 

그런 다음 선택자 #foo button.add을 사용할 수 있습니다.

+0

안녕 Orip-- 덕분에 button.add 될 것이다. 불행히도 HTML 코드를 수정할 권한이 없습니다. 따라서 어떤 신원이나 속성을 지정할 수는 없습니다. – doneright

0

동일한 노드에 대해 가능한 여러 가지 XPath가 있습니다. 이 경우, 클래스가 "add"인 유일한 버튼입니까? 이 경우 :

//button[contains(concat(' ', @class, ' '), ' add ')] 

해당 버튼이 표시됩니다. HTML 스 니펫을 사용하는 것은 그리 유용하지 않습니다.

페이지에 액세스 할 수 있고 Chrome 브라우저를 실행할 수있는 경우 내 확장 here을 사용해보세요. 설치 후 Chrome을 다시 시작한 다음 을 오른쪽 버튼으로 클릭하고을 클릭하고 PsychoXPath -> Element (Short)을 선택합니다. 그러면이 요소에 대한 고유 한 경로를 찾아서 콘솔뿐만 아니라 클립 보드로 복사하려고합니다.

0

는 CSS는 답장을 보내

selenium.click("css=button.add"); 
관련 문제