2016-06-13 2 views
2

이 질문에 대한 답변을 찾으려고 계속 노력했습니다.컨트롤이 존재하는 동안 루프가 발생합니다.

웹 페이지에 데이터를 입력하고 싶습니다. 루프를 입력하고 데이터를 입력합니다. 다음 단추를 클릭하십시오. 더 이상 사용자가 없을 때까지이 작업이 계속됩니다. 더 이상 사용자가 없으면 페이지가 변경되고 더 이상 다음 버튼을 클릭 할 필요가 없습니다.

Java에서 Selenium을 코딩하는 방법을 잘 모르겠습니다. C#, 아니 땀. 어떤 아이디어?

이 동작은 다음 번에 루프를 통해 참조가 고갈됩니다. 내가이 상황에 대처하는 방법을 잘 모르겠어요 그래서 C#에서이 같은

WebElement loopCondition = driver.findElement(By.name("imgnext")); 
while (loopCondition.isEnabled()) { 
     myElement = (new WebDriverWait(driver, 30)) 
      .until(ExpectedConditions.elementToBeClickable(By.id("originalSalaryAmt"))); 
     myElement.sendKeys("1000"); 
     myElement.sendKeys(Keys.RETURN); 
     myElement = (new WebDriverWait(driver, 30)) 
      .until(ExpectedConditions.elementToBeClickable(By.name("imgnext"))); 
     myElement.click(); 

}

자바에는 .exists 없습니다. 데이터를 입력하고 다음을 클릭하여 다음 버튼이 더 이상 존재하지 않을 때까지 다음 사용자로 이동합니다.

답변

0

당신은 매개 변수로 WebElement을 통과 요소를 볼 수 있는지 확인하고 사용 당신의 루프 조건에서이 기능을 활성화해야합니다 : 또는

public bool IsElementVisible(IWebElement element) 
{ 
    return element.Displayed && element.Enabled; 
} 

시도는 :

driver.ElementIsPresent(By.name("imgnext")); 
0

나는 이것을 사용하여 상처 성공.

while (driver.getPageSource().contains("Next") ) { 
관련 문제