2011-05-16 2 views
0

저는 Selenium RC를 처음 사용하며 Selenium + Java + Eclipse를 사용하고 있습니다.전자 메일의 메시지 텍스트를 가져오고 XPath를 사용하거나 사용하지 않고 perticular 메일을 찾으려면 SeleniumRC 코드

Gmail을 열고 이메일을 클릭 한 다음 이메일을 읽고 해당 메일의 본문 부분에있는 링크를 클릭해야합니다.

  1. 표준 모드의 Gmail에서는 메일을 찾을 수 없습니다. 어떤 단서를 어떻게해야합니까? 아래는 내가 적용한 코드이지만 실패한 코드입니다. Gmail에서의 HTML 모드에서

    selenium.clickAt("/html/body/table[2]/tbody/tr/td[2]/table[1]/tbody/tr/td[2]/form/table[2]/tbody/tr[4]/td[3]/a/span", "0,0"); 
    
  2. , XPath를 사용하여 나는 때문에받은 편지함에 새 이메일의 특정 메일마다 시간을 찾을 수 없습니다입니다. 어떤 생각이 어떻게 처리 할 수 ​​있습니까?

  3. 메일의 메시지 텍스트를 가져 오는 방법을 알려주세요. Selenium.getText("xpath")을 사용하면받은 편지함의 새 이메일과 함께 메시지 텍스트가 변경됩니다. 이것을 어떻게 할 수 있습니까?

XPath를 사용하지 않고 다른 방법이 있습니까?

+0

Plzzzzzzzzzzzz을 (보낸 사람 이름 또는 메일 제목, 나는 가정한다)? 너 주변에 벌이있어? –

+0

이것은 실제로 [Gmail 서비스 약관] (http://www.google.com/accounts/TOS?hl=ko) 섹션 5.3 섹션을 참조하십시오. 스크립트 또는 웹 크롤러의 사용을 포함하여 모든 자동화 된 방법을 통한 서비스 " –

답변

0

xpath 표현식을 다시 작성하십시오. Selenium IDE가 자동 생성되었습니다. 좀 더 일반적인 것으로 만드십시오.

그래서, 대신 (예를 들어)

/html/body/table[2]/tbody/tr/td[2]/table[1]/tbody/tr/td[2]/form/table[2]/tbody/tr[4]/td[3]/a/span 

사용

//form//a/span 

의 아무 곳이나 형태로 포함되어 span 태그와 모든 하이퍼 링크를 잡아합니다.

이렇게하면 범위 목록이 반환됩니다. 그런 다음 해당 항목을 필 터링하고 필요한 노드 만 유지하고 일부 조건을 확인하십시오. 링크 텍스트는 당신이 텍스트를 찾고 있습니다 어디

또한

"//form//a/span[contains(text(),'" + linktext + "')]"; 

을 사용할 수 있습니다

+0

안녕하세요 .. 내가 말한 것처럼 .. selenium.click ("// form/a/span [contains (text(), 'hello find it')] ""); 'com.thoughtworks.selenium.SeleniumException : 오류 : Element // form/a/span [던져서 (text(),'hello find it ')] 찾을 수 없음. ??? ??? – sss

+0

Gmail 기본 - HTML 모드에서이 xpath 표현식은 제목이있는 메일을 선택합니다. // span/b [contains (text(), '친구가 되라고 초대했습니다.'] Gmail 표준 모드는 자바 스크립트와 같이 훨씬 복잡해 보입니다. – knb

관련 문제