2016-11-23 6 views
0

나는 Selenium webdriver (newbie : D)를 시작했다. 테이블에서 요소의 xpath를 어떻게 얻을 수 있습니까? 나는 크롬에서 페이지의 소스 코드를 보려고 애 썼는데, 엘리먼트를 고르고 그것의 xpath를 얻는다. Selenium webdriver는이 xpath로 요소를 찾을 수 없다고 알려줍니다. 페이지테이블에서 요소의 xpath를 얻는 방법

링크 : 내가 예를 들어, 텍스트 상자에 문자를 붙여 넣을 수있는 방법 http://samples.gwtproject.org/samples/Showcase/Showcase.html#!CwCellList

? 이 코드를 사용하려고 :

UPD :

@org.junit.Test 
    public void getStarted(){ 
     System.setProperty("webdriver.chrome.driver", "/Users/fedor/Desktop/chromedriver"); 
     WebDriver driver = new ChromeDriver(); 
     driver.get("http://samples.gwtproject.org/samples/Showcase/Showcase.html#!CwCellList"); 

     WebElement t = driver.findElement(By.xpath(".//tr[td[contains(text(), 'First Name')]]//input")); 

     t.clear(); 
     t.sendKeys("test1111"); 

    } 

UPD 2 : 문제가 요소를 발견하기 전에 암시 대기의 미스이었다. 이 코드는 나를 위해 고쳤습니다 :

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
+0

당신의 XPath 표현식은 무엇입니까? 아마 너무 많은 결과를 얻고 있으므로 Selenium은 예외를 던집니다. 'findElements()'메소드를 시도하고 그 내용을 반복한다. – JDelorean

답변

1

예를 들어 주어진 link.

당신이 적절한 textBox 사용하여 텍스트를 어떤을 찾을 것 xpath 이하로 사용하려고 이름textBox에 텍스트를 입력합니다 : -

.//tr[td[normalize-space() = 'First Name:']]//input 

또는

.//tr[td[contains(text(), 'First Name')]]//input 
+0

내 질문을 업데이트했습니다. 그것을 확인하십시오. 선택자가 나를 위해 작동하지 않습니다 ( –

+0

@FedorKostjuchenko 요소를 찾기 전에 암시 적으로 대기 시간을 추가하고 시도하십시오 –

+1

정말 고마워요! =) –