Selenium을 사용하여 웹 페이지에 대한 JUnit 테스트를 작성 중이며 페이지 내에 예상 텍스트가 존재하는지 확인하려고합니다.Selenium : Java에서 cssSelector를 사용하여 div의 텍스트를 추출하십시오.
<div id="recipient_div_3" class="label_spacer">
<label class="nodisplay" for="Recipient_nickname"> recipient field: reqd info </label>
<span id="Recipient_nickname_div_2" class="required-field"> *</span>
Recipient:
</div>
내가 페이지에 무엇을 기대할 무엇 비교하려는, 그래서 나는() Assert.assertTrue를 사용하려면 : 웹 페이지의 코드는이 같은 모습을 테스트하고 있습니다. 그게 사업부에서 모든 것을, 나는
String element = driver.findElement(By.cssSelector("div[id='recipient_div_3']")).getText().replaceAll("\n", " ");
을 할 수 얻을 알고 있지만이 돌아갑니다 "REQD 정보 *받는 사람 :"
는 ("받는 사람 그냥 DIV에서 텍스트를 얻을 수있는 방법이 있나요 ") 다른 태그없이 cssSelector를 사용합니까?
제공하는 XPath를 로케이터는 논리적이고 크롬의 콘솔에서 작동을 사용해야하지만, 셀레늄에서 작동하지 않습니다 또한 알 수 있습니다. 셀렌이 다음 오류를 throw합니다 ... '주어진 selector // div [@ class = 'StdLevel1']/text()가 유효하지 않거나 WebElement를 발생시키지 않습니다. 다음 오류가 발생했습니다 : InvalidSelectorError : xpath 표현식 결과 "// class = 'StdLevel1'/ text() '는 [object text]입니다. 요소 여야합니다. ' – BSchlinker
솔루션이 있습니까? 아니면 div를 잡고 getText() 문자열을 파싱 하시겠습니까? –
제 생각에 Infact 셀렌은 text(), node 등등을 허용합니다. – SIslam