2013-05-14 6 views
0
<div class="field select-container invalid" data-tooltip="Error message." "name="birthDate"> 
<div class="stack-wrap gutter-col-wrap-1"> 
<div class="stack size1of3"> 
<div class="gutter-col-1"> 
    <div class="form-selectbox full-width"> 
    <select name="day"> 
     <option value="">Giorno</option> 
     <option value="01">1</option> 

WebElement el = browser.switchTo(). activeElement()를 사용하는 경우 포커스는 "name"특성에 있습니다. 화면에 오류 메시지를 표시하려면 "데이터 도구 설명"인 상위 항목을 찾아야합니다. 도와주세요. 내가 제대로 질문을 이해한다면WebDriver에서 요소의 부모를 얻는 방법

+0

""name "속성에 중점을 둡니까? 분명히 해줄 수 있니? "데이터 도구 설명"인 부모를 찾아야합니까? 'data-tooltip'속성을 사용하여 div를 찾으셨습니까? –

+0

예, 정확하게 !! 'data-tooltip'속성으로 div를 찾아야합니다. 툴팁은 페이지 전체에서 찾을 수 있습니다. 따라서 특정 요소에 대한 현재 툴팁 포커스를 얻으려면 browser.switchTo(). activeElement()를 수행 한 다음 el.getText()를 수행 할 때 포커스가있는 현재 요소의 텍스트를 제공합니다. 그러나 초점이 "이름"속성 중 하나에있는 상황이 있습니다. 이제 툴팁을 얻으려면 뒤로 돌아 가야합니다. 데이터 툴팁은 텍스트가 다른 곳이 많습니다. 따라서 데이터 툴팁을 통해 텍스트에 직접 액세스하는 것은 불가능합니다. – user2340124

답변

1

, 당신은 단지

여기

당신이 할 방법 <select name="day">'div.select-container에서 데이터 툴팁의 텍스트를 찾으려면 그 자바에서의 XPath의 조상 선택기 (테스트되지 않은 코드)와 :

WebElement selectDayContainer = driver.findElement(By.xpath("//select[@name='day']//ancestor::div[contains(@class, 'select-container')]")); 
String toolTip = selectDayContainer.getAttribute("data-tooltip"); 
+0

@ user2340124 : 이에 대한 의견이 있으십니까? 너에게 효과가 있었 니? –

1

코드 다음에 하위 요소의 부모 만 찾는 경우 사용할 수 있습니다.

IWebElement parentElement = childElement.FindElement(By.XPath("..")); 
관련 문제