Java로 Selenium Webdriver를 사용하여 요소 (텍스트 상자)를 식별하려고합니다. 하지만, 그것은 내게 요소 예외를 찾을 수 없습니다.. 요소의 id는 변경되지 않습니다. 여기에 HTML 코드는 다음과 같습니다"main"스레드에서 예외가 발생했습니다. org.openqa.selenium.NoSuchElementException : 요소를 찾을 수 없습니다.
<div>
<table id="searchIdText">
<tbody>
<tr id="searchIdText-inputRow">
<td id="searchIdText-labelCell"><label
id="searchIdText-labelEl"> Search By Id <span
role="separator">:</span>
</label></td>
<td id="searchIdText-bodyEl"><input id="searchIdText-inputEl"
type="text" autocomplete="off" name="searchIdText-inputEl" size="1"
role="textbox" style="width: 100%; height: 20px;" /></td>
</tr>
</tbody>
</table>
</div>
나는 ID searchIdText-inputEl와 텍스트 상자입니다 원하는 요소를.
driver.findElement(By.xpath(".//*[@id='searchIdText-inputEl']"));
driver.findElement(By.name("searchIdText-inputEl"))`
뿐만 아니라 : 나는 시도
driver.findElement(By.id("searchIdText-inputEl"));
을하지만 그들 중 누구도 작동되지 않습니다. 나는 기다림과 Thread.sleep
도 시도했다. 그들 중 누구도 일하고 있지 않습니다. 또한 HTML 코드를 변경하는 것은 옵션이 아닙니다. 이것들을 제외한 모든 제안은 환영합니다. 감사합니다!
자바 코드 스 니펫은 다음과 같습니다. 절망적 인 방법으로, Explicit Wait와 Thread.sleep을 둘 다 추가하여 결과를 개별적으로 제공하지 못했습니다. 그러나 그것은 여전히 쓸모가 없었습니다.
WebDriver driver = new FirefoxDriver();
WebElement element = null;
WebDriverWait wait = new WebDriverWait(driver, 30);
driver.get(url);
Thread.sleep(60000);
element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(".//*[@id='searchIdText-inputEl']"));
element.sendKeys("ABC");
페이지가로드되는 즉시 요소가 표시됩니까? 조금 더 많은 컨텍스트를 제공하기 위해 현재 Java 코드를 게시 할 수 있습니까? – Josh
Java 코드 단편을 편집하고 추가했습니다. –
감사합니다. 페이지 로딩을 볼 수 있습니까? 요소가 표시됩니까? – Josh