2016-10-18 2 views
2

필드 내에있는 텍스트를 가져 와서 해당 요소를 클릭하고 싶습니다.필드에서 linkText를 사용하여 WebElements를 추출하는 방법

HomePageFields.TableOneColumn(driver).findElement(By.linkText("RFI Overview")).click(); 

그러나 : 내가 사용하려고

public static WebElement TableOneColumn(WebDriver driver) throws IOException { 
element = driver.findElement(By.xpath("//div[contains(@eventproxy,'isc_QMetricsView_0')]/div[1]/div[1]/div[1]/div[1]/div[1]/div[contains(@style,'position')]/div")); 
    return element; 

다음 TableOneColumnxpath가 다른 클래스에

String text; 
text = HomePageFields.TableOneColumn(driver).getText(); 
System.out.println("Table One Column contains following:\n" + text); 

: 나는 다음 사용 때 로그에있는 모든 요소의 텍스트를 추출 요소를 찾지 못한다는 오류가 발생합니다.

다음은 해당 텍스트에 대한 html 링크입니다. 그러나 다른 텍스트는 같은 태그에 있지만 그 주 태그 내의 다른 위치를 포함합니다.

HTML path

+0

페이지의 URL을 공유하십시오. – testerjoe2

답변

0
driver.findElement(By.xpath("//td[.='RFI Overview']")).click(); 

은 나뿐만 아니라 ID isc_3BL와 DIV를 사용하는 것이 좋습니다 싶지만, 나는이입니다 확실하지 오전 정적 ID. 그렇다면 "RFI 개요"텍스트가있는 동일한 정확한 td를 포함하는 다른 외부 테이블에서 격리 할 수 ​​있습니다.

+0

선생님, 당신은 최고입니다! 그것은 완벽하게 작동했습니다. 질문이 하나 더 있지만이 주제와 관련이 없습니다. 내 액션 클래스가 작동하지 않습니다. 나는 대답을 찾았지만 찾을 수가 없다. "UnsupportedCommandException : //...../moveto가 알려진 명령과 일치하지 않습니다." – Artur

+0

이 질문에 답하는 방법을 모르겠습니다. 코드와 함께 다른 질문을 올리십시오. , 쓰기 라이브러리를 사용하고 있는지를 아는 것이 중요합니다. – robx

1

사실 By.linkText()욕망의 텍스트가 어떤 <a> 태그에 있지하면서 표시하는 정확한 텍스트로 <a> 요소를 찾습니다. 그래서 당신이 곤경에 빠졌습니다.

당신은 다음이 텍스트 By.xpath()를 사용하여 시도해야합니다 : -

WebElement el = driver.findElement(By.xpath(".//div[descendant::td[text() = 'RFI Overview']]")); 
System.out.println("Table One Column contains following:\n" + el.getText()); 
el.click(); 

또는

WebElement el = driver.findElement(By.xpath(".//div[normalize-space(.) = 'RFI Overview']")); 
System.out.println("Table One Column contains following:\n" + el.getText()); 
el.click(); 

또는 값이 고유처럼 보이는 id 속성이 내가 제공 한 스크린 샷 욕망 <div>에서보고 있어요으로 . 이 속성 값이 요소에 고정되어있는 경우, 당신은 또한으로 By.id()을 사용하여 시도 할 수 있습니다 : -

WebElement el = driver.findElement(By.id("isc_3BL")); 
System.out.println("Table One Column contains following:\n" + el.getText()); 
el.click(); 
관련 문제