level 1
宫雨沫dQ
楼主
selenium 登陆Q Q空 间测试报错。请指正
代码如下:
import java.io.File;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
public class LoginAsk {
public static void main(String[] args) {
WebDriver webDriver = null;
System.setProperty("webdriver.chrome.driver", "G:\\迅雷下载\\chromedriver_win32\\chromedriver.exe");
webDriver = new ChromeDriver();
webDriver.get("http://qqun.qq.com/search/login.html");
WebDriverWait wait = new WebDriverWait(webDriver, 10);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("login_div")));
webDriver.findElement(By.id("switcher_plogin")).click();
}
}
可能由于网页中id为 switcher_plogin的元素是js控制显示的,导致错误,请问怎么解决这样的问题呢?
==============================错误信息=====================================
log4j:ERROR Could not find value for key log4j.appender.test10
log4j:ERROR Could not instantiate appender named "test10".
Starting ChromeDriver (v2.9.248315) on port 37641
Exception in thread "main" org.openqa.selenium.NoSuchElementException: no such element
(Session info: chrome=53.0.2785.143)
(Driver info: chromedriver=2.9.248315,platform=Windows NT 6.1 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 13 milliseconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: '2.40.0', revision: 'fbe29a9', time: '2014-02-19 20:54:28'
System info: host: 'USER-20161020OY', ip: '169.254.98.34', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_79'
Session ID: 08d3f8c0f2c68349ed6fbb0f926b1271
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{platform=XP, acceptSslCerts=true, javascriptEnabled=true, browserName=chrome, chrome={userDataDir=C:\Users\ADMINI~1\AppData\Local\Temp\scoped_dir1476_22055}, rotatable=false, locationContextEnabled=true, version=53.0.2785.143, takesHeapSnapshot=true, cssSelectorsEnabled=true, databaseEnabled=false, handlesAlerts=true, browserConnectionEnabled=false, nativeEvents=true, webStorageEnabled=true, applicationCacheEnabled=false, takesScreenshot=true}]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:193)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:573)
at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:326)
at org.openqa.selenium.remote.RemoteWebDriver.findElementById(RemoteWebDriver.java:367)
at org.openqa.selenium.By$ById.findElement(By.java:214)
at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:318)
at com.infocenter.test.selenium.LoginQQAsk.main(LoginQQAsk.java:36)
2017年01月12日 11点01分
1
代码如下:
import java.io.File;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
public class LoginAsk {
public static void main(String[] args) {
WebDriver webDriver = null;
System.setProperty("webdriver.chrome.driver", "G:\\迅雷下载\\chromedriver_win32\\chromedriver.exe");
webDriver = new ChromeDriver();
webDriver.get("http://qqun.qq.com/search/login.html");
WebDriverWait wait = new WebDriverWait(webDriver, 10);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("login_div")));
webDriver.findElement(By.id("switcher_plogin")).click();
}
}
可能由于网页中id为 switcher_plogin的元素是js控制显示的,导致错误,请问怎么解决这样的问题呢?
==============================错误信息=====================================
log4j:ERROR Could not find value for key log4j.appender.test10
log4j:ERROR Could not instantiate appender named "test10".
Starting ChromeDriver (v2.9.248315) on port 37641
Exception in thread "main" org.openqa.selenium.NoSuchElementException: no such element
(Session info: chrome=53.0.2785.143)
(Driver info: chromedriver=2.9.248315,platform=Windows NT 6.1 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 13 milliseconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: '2.40.0', revision: 'fbe29a9', time: '2014-02-19 20:54:28'
System info: host: 'USER-20161020OY', ip: '169.254.98.34', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_79'
Session ID: 08d3f8c0f2c68349ed6fbb0f926b1271
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{platform=XP, acceptSslCerts=true, javascriptEnabled=true, browserName=chrome, chrome={userDataDir=C:\Users\ADMINI~1\AppData\Local\Temp\scoped_dir1476_22055}, rotatable=false, locationContextEnabled=true, version=53.0.2785.143, takesHeapSnapshot=true, cssSelectorsEnabled=true, databaseEnabled=false, handlesAlerts=true, browserConnectionEnabled=false, nativeEvents=true, webStorageEnabled=true, applicationCacheEnabled=false, takesScreenshot=true}]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:193)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:573)
at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:326)
at org.openqa.selenium.remote.RemoteWebDriver.findElementById(RemoteWebDriver.java:367)
at org.openqa.selenium.By$ById.findElement(By.java:214)
at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:318)
at com.infocenter.test.selenium.LoginQQAsk.main(LoginQQAsk.java:36)
