셀레늄 크롬 드라이버의 getText () 메서드가 때때로 빈 문자열을 반환합니다.

JackhammersForWeeks :

셀레늄 크롬 드라이버 getText()메서드 (java)가 동일한 .NET 요소를 가진 다른 요소에 대해 비어 있지 않은 문자열을 반환하더라도 일부 요소에 대해 빈 문자열을 반환 하는 흥미로운 경우가 xpath있습니다. 여기에 약간의 페이지가 있습니다.

<div __gwt_cell="cell-gwt-uid-223" style="outline-style:none;">
<div>Text_1</div>
<div>Text_2</div>
<div>Text_3</div>
<div>Text_4</div>
<div>Text_5</div>
<div>Text_6</div>
</div>

내부 태그의 각각에 대해, 나는 유효 리턴 값을 얻을 수 있습니다 getTagName(), getLocation(), isEnabled(),와 isDisplayed(). 그러나 getText ()는 일부 div에 대해 빈 문자열을 반환합니다.

또한 Mac 크롬 드라이버를 사용하면 일관되게 getText()빈 문자열 반환하는 'Text_5'임을 알 수 있습니다. Windows 크롬 드라이버를 사용하면 일관되게 getText()빈 문자열 반환하는 'Text_2'입니다 . firefox 드라이버를 사용하는 경우 getText()모든 div에서 예상되는 텍스트를 반환합니다.

다른 사람이 이런 어려움을 겪은 적이 있습니까?

내 코드에서 다음과 같이 사용합니다.

ArrayList<WebElement> list = (ArrayList<WebElement>) driver.findElements(By.xpath(“my xPath here”));
for (WebElement e: list) System.out.println(e.getText());

아래 제안 된대로 여기에 xPath내가 사용 하고있는 실제가 있습니다. 위의 페이지 스 니펫은 마지막 두 div를 다룹니다.

//*[@class='gwt-DialogBox']//tr[contains(@class,'data-grid-table-row')]//td[contains(@class,'lms-assignment-selection-wizard-cell')]/div/div
관심:

업데이트 :textContent속성은 더 나은 옵션이며 대부분의 브라우저에서 지원됩니다. 차이점은이 블로그 게시물에서 자세히 설명합니다. innerText 대 textContent

대안으로 innerText속성은 DOM에 존재하는 요소의 텍스트 콘텐츠를 반환합니다.

element.getAttribute("innerText")

isDisplayed()방법은 때때로 요소가 정말 숨겨진되지 않을 때 걸려 넘어하지만 뷰포트 외부 수 있습니다 getText()이러한 요소에 대해 빈 문자열을 반환합니다.

다음과 같이 javascript를 사용하여 스크롤하여 요소를 뷰포트로 가져올 수도 있습니다.

((JavaScriptExecutor)driver).executeScript("arguments[0].scrollIntoView(true);", element);

그런 다음 getText()올바른 값을 반환해야합니다.

isDisplayed()방법 에 대한 자세한 내용 은이 SO 질문에서 찾을 수 있습니다.

Selenium WebDriver의 isDisplayed () 메서드는 어떻게 작동합니까?

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

getText () 메서드는 빈 문자열을 반환합니다.

링크 텍스트가 포함 된 드롭 다운의 getText ()가 빈 문자열을 반환합니다.

Heroku에서 크롬 드라이버로 셀레늄 실행 :`Chrome 바이너리를 찾을 수 없습니다`

크롬 드라이버가 여러 파일을 다운로드하도록 허용하는 방법 - 셀레늄

자바 스크립트가있는 셀레늄 웹 드라이버 : 크롬에서 여러 파일을 다운로드하는 방법은 무엇입니까?

크롬이 파이썬 셀레늄 크롬 드라이버로로드되지 않습니다.

셀레늄 크롬 드라이버로 클릭하게 하지 않습니다

Python으로 셀레늄 크롬 웹 드라이버에서 시작할 때 시크릿 모드에서 확장 프로그램을 추가하는 방법

셀레늄 크롬 드라이버 파이썬에서 text ()가있는 버튼을 찾을 수 없습니다.

크롬 드라이버에서 셀레늄을 사용할 때 웹 사이트에서 감지 할 수 있습니까?

셀레늄 크롬 드라이버로 제어되는 Chrome 창에서 Chrome Dev 도구의 콘솔을 사용할 수 없습니다.

"get"메서드는 해당 문자열에 값이있을 때 빈 문자열을 반환합니다.

C # 셀레늄 크롬 드라이버가이 장치에 파일 저장 허용을 클릭합니다.

셀레늄의 getWindowHandles는 여러 개의 크롬 인스턴스가 열려 있어도 항상 크기를 1로 반환합니다.

WebUI.getText ()가 빈 문자열을 반환합니다.

EditText.getText.toString ()이 빈 문자열을 반환합니다

EditText.getText.toString ()이 빈 문자열을 반환합니다

셀레늄 시작시 여러 크롬 드라이버 열기

헤드리스 모드에서 셀레늄 크롬 노드를 사용할 때 각도기가 페이지에서 Angular를 찾을 수 없습니다.

셀레늄 크롬 드라이버가 존재하더라도 요소를 찾을 수 없습니다.

크롬 헤드리스 및 셀레늄으로 다운로드

Python에서 파일을 다운로드하기 위해 셀레늄에서 크롬 웹 드라이버를 사용하는 방법은 무엇입니까?

python 셀레늄 헤드리스 크롬 드라이버가 코드를 변경하지 않고 전날 작동했을 때 전체 페이지를로드하지 않습니다.

크롬에서이 셀레늄 웹 드라이버 테스트를 실행하면 빈 페이지가 나타납니다.

SUMPRODUCT는 셀에 빈 문자열(="")이 있을 때 #Value를 반환합니다.

Python 셀레늄에서 셀레늄 크롬 웹 드라이버를 사용하여 요소를 찾을 수 없습니다.

셀레늄 웹 드라이버. 셀레늄 그리드를 통해 테스트를 실행할 때 크롬 확장을 설치하는 방법은 무엇입니까?

셀레늄 크롬 드라이버를 사용하여 자동으로 'PDF로 저장'할 때 누락 된 요소

셀레늄 크롬 드라이버를 사용하여 클릭하여 PDF를 다운로드하는 방법

TOP 리스트

  1. 1

    C # 16 진수 값 0x12는 잘못된 문자입니다.

  2. 2

    Matlab의 반복 Sortino 비율

  3. 3

    librosa로 생성 된 스펙트로 그램을 다시 오디오로 변환 할 수 있습니까?

  4. 4

    PhpStorm 중단 점에서 변수 값을 볼 수 없습니다.

  5. 5

    종속 사용자 정의 Lightning 선택 목록 Level2 및 Level3을 설정한 다음 Lightning 구성 요소에서 Level2를 재설정하지만 Level2 캐시 데이터가 저장됨

  6. 6

    Watchdog 큐 이벤트를 사용하는 Python 병렬 스레드

  7. 7

    atob은 인코딩 된 base64 문자열을 디코딩하지 않습니다.

  8. 8

    dev 브랜치에 병합 할 때만 트리거하도록 bitbucket에서 AWS Codebuild로 웹훅을 설정하려면 어떻게해야합니까?

  9. 9

    2 개의 이미지를 단일 평면 이미지로 결합

  10. 10

    Assets의 BitmapFactory.decodeStream이 Android 7에서 null을 반환합니다.

  11. 11

    막대 그래프 위에 선이 표시되지 않음

  12. 12

    Python : 특정 범위를 초과하면 플롯의 선 색상을 변경할 수 있습니까?

  13. 13

    기능 선택을위한 Sklearn Chi2

  14. 14

    Ionic 2 로더가 적시에 표시되지 않음

  15. 15

    EventEmitter <string>의 컨텍스트 'this'가 Observable <string> 유형의 'this'메서드에 할당되지 않았습니다.

  16. 16

    매개 변수에서 쿼리 객체를 선언하는 방법은 무엇입니까?

  17. 17

    openCV python을 사용하여 텍스트 문서에서 워터 마크를 제거하는 방법은 무엇입니까?

  18. 18

    아이디어 Intellij : 종속성 org.json : json : 20180813을 찾을 수 없음, maven에서 org.json 라이브러리를 가져올 수 없음

  19. 19

    일반 메서드에서 클래스 속성에 액세스하는 방법-C #

  20. 20

    식별자는 ORA-06550 및 PLS-00201로 선언되어야합니다.

  21. 21

    함수 호출 사이에 데이터를 저장하는 파이썬적인 방법은 무엇입니까?

뜨겁다태그

보관