-8
ich auf dieser Seite binFehler "kein solches Element: Nicht imstande Element zu lokalisieren"
https://login.alibaba.com/?spm=a2700.8293689.0.0.NdeZUw&tracelog=hd_signin
Und versuchen, E-Mail-Feld zuzugreifen, indem Web-Elemente-Code folgenden:
public static WebElement Email_Field(WebDriver driver) throws InterruptedException {
//element = (new WebDriverWait(driver, 10)).until(ExpectedConditions
//.visibilityOfElementLocated(By.xpath("//input[@id='fm-login-id']")));
element = driver.findElement(By
.xpath("//input[@id='fm-login-id']"));
while (!isDisplayed(element)) {
Thread.sleep(3000);
System.out.println("Element is not visible yet");
}
return element;
}
public static boolean isDisplayed(WebElement element) {
try {
if(element.isDisplayed())
return element.isDisplayed();
}catch (NoSuchElementException ex) {
return false;
}
return false;
}
Aber immer die folgende Ausnahme:
Exception in thread "main" org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":".//*[@id='fm-login-id']"}
(Session info: chrome=59.0.3071.115)
Überlegen Sie, das HTML-DOM zu aktualisieren. Danke – DebanjanB
Ihr Fehler sagt Ihnen über das Element './/*[@ id = 'fm-login-id']' aber ich kann '// Eingabe [@ id = 'fm-Login-ID']' in Ihrem Code sehen . Warum gibt es einen Unterschied? –
Die Information, die er sucht, ist im 'iframe' - vielleicht lädt der Rahmen danach. Erwägen Sie, auf das DomReady-Ereignis usw. zu warten. Wenden Sie sich an Ihre Web-Treiber-API. –