Ich verfolge die 2 Tutorial Websites unter:Selen Java WebDriver, NoSuchElementException: kein solches Element: Kann Element finden: { "Methode": "Klassenname", "Selektor": "btn_content"}
- https://www.guru99.com/installing-selenium-webdriver.html
- http://www.softwaretestingstudio.com/click-button-selenium-webdriver-java/
ich versuche, eine Login-Seite, zu automatisieren, aber immer auf der Schaltfläche „Weiter“ steckte auf die nächste Seite zu gelangen.
Ich verwende:
- Chrome Browser-Version 61.0.3163.100
- Eclipse-Java Oxygen
- JDK 9
- Selen-Java-Client-Treiber 3.6.0
Unten ist ein Ausschnitt des HTML für die Schaltfläche "Weiter".
<button type="submit" class="btn btn--block btn--raised primary" white--text="" style="position: relative;">
<div class="btn__content">Next</div>
</button>
package newpackage;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class T2 {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver","C:\\Users\\struong\\chromedriver_win32\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().timeouts().implicitlyWait(20,TimeUnit.SECONDS);
String baseUrl = "https://vertical.vappcenter.com/login";
driver.get(baseUrl);
// Get the WebElement corresponding to the Email Address(TextField)
WebElement Email = driver.findElement(By.id("email"));
// Type in an email address
Email.sendKeys("[email protected]");
// Find the Next button and click it
WebElement bNext = driver.findElement(By.className("btn_content"));
// Using click method to click Next
bNext.click();
}
}
ich Fehler:
_Starting ChromeDriver 2.32.498550 (9dec58e66c31bcc53a9ce3c7226f0c1c5810906a) on port 5146 Only local connections are allowed. Oct 26, 2017 3:47:13 PM org.openqa.selenium.remote.ProtocolHandshake createSession INFO: Detected dialect: OSS Exception in thread "main" org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"class name","selector":"btn_content"} (Session info: chrome=62.0.3202.62) (Driver info: chromedriver=2.32.498550 (9dec58e66c31bcc53a9ce3c7226f0c1c5810906a),platform=Windows NT 10.0.15063 x86_64) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 0 milliseconds For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html Build info: version: '3.6.0', revision: '6fbf3ec767', time: '2017-09-27T16:15:26.402Z' System info: host: 'STRUONG-DT', ip: '172.18.11.10', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '9' Driver info: org.openqa.selenium.chrome.ChromeDriver Capabilities [{mobileEmulationEnabled=false, hasTouchScreen=false, platform=XP, acceptSslCerts=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, platformName=XP, setWindowRect=true, unexpectedAlertBehaviour=, applicationCacheEnabled=false, rotatable=false, networkConnectionEnabled=false, chrome={chromedriverVersion=2.32.498550 (9dec58e66c31bcc53a9ce3c7226f0c1c5810906a), userDataDir=C:\Users\struong\AppData\Local\Temp\scoped_dir7400_24258}, takesHeapSnapshot=true, pageLoadStrategy=normal, unhandledPromptBehavior=, databaseEnabled=false, handlesAlerts=true, version=62.0.3202.62, browserConnectionEnabled=false, nativeEvents=true, locationContextEnabled=true, cssSelectorsEnabled=true}] Session ID: eb9bec8a6c5768eb31c3168d80b3831d *** Element info: {Using=class name, value=btn_content} at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:488) at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214) at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166) at org.openqa.selenium.remote.http.JsonHttpResponseCodec.reconstructValue(JsonHttpResponseCodec.java:40) at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:82) at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:45) at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:164) at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:586) at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:356) at org.openqa.selenium.remote.RemoteWebDriver.findElementByClassName(RemoteWebDriver.java:442) at org.openqa.selenium.By$ByClassName.findElement(By.java:391) at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:348) at newpackage.T2.main(T2.java:26)_