2017-02-25 5 views
1
package login; 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.firefox.FirefoxDriver; 
public class fblogin 
{ 
    public static void main(String[] args) 
    { 
     System.setProperty("webdriver.gecko.driver", 
     "E:\\Software\\geckodriver-  v0.14.0-win64\\geckodriver.exe"); 
     WebDriver driver =new FirefoxDriver(); 
     driver.get[("http://www.facebook.com/"); 
     driver.manage().window().maximize(); 
     driver.findElement(By.id("u_0_j")); 
     driver.findElement(By.id("u_0_j")); 
     WebElement maleRadioBtn = driver.findElement(By.id("gender-Male")); 
     boolean status = maleRadioBtn.isDisplayed(); 
     System.out.println("Is Male radio button displayed: "+status); 

     boolean radioBtnIsEnabled = maleRadioBtn.isEnabled(); 
     System.out.println("Is Male radio button enabled: "+radioBtnIsEnabled); 
     boolean radioBtnIsSelected = maleRadioBtn.isSelected(); 
     System.out.println("Default Radio button selectionStatus:"+radioBtnIsSelected); 
     maleRadioBtn.click(); 
     boolean radioBtnNewSelectionStatus = maleRadioBtn.isSelected(); 

     System.out.println("Male radio Selection status after perform click() event:" +radioBtnNewSelectionStatus); 

     driver.quit(); 
    } 

} 

と、次のEclipseのコンソールにerrrorを示すこと私はFBログインがFirefoxブラウザをPAGE-開くためにTHER、次のコードを使用しています開きますが

1488031253026 geckodriver INFO Listening on 127.0.0.1:27579 
Feb 25, 2017 7:30:53 PM org.openqa.selenium.remote.ProtocolHandshake 
createSession 
INFO: Attempting bi-dialect session, 
assuming Postel's Law holds true on the remote end 
1488031253629 mozprofile::profile INFO Using profile path 
C:\Users\Abhijit\AppData\Local\Temp\rust_mozprofile.wSwUJ6GdEw5Q 
1488031253630 geckodriver::marionette INFO Starting browser 
C:\Program Files (x86)\Mozilla Firefox\firefox.exe 
1488031253636 geckodriver::marionette INFO  
Connecting to Marionette on  localhost:62566 
1488031254942 Marionette INFO Listening on port 62566 
Feb 25, 2017 7:30:58 PM org.openqa.selenium.remote. 
ProtocolHandshake createSession 
INFO: Detected dialect: W3C 
Exception in thread "main" org.openqa.selenium.NoSuchElementException: 
Unable to locate element: #gender\-Male 
For documentation on this error, please visit:  
http://seleniumhq.org/exceptions/no_such_element.html 
Build info: version: 'unknown', revision: '1969d75', time: '2016-10-18 
09:43:45 -0700' 
System info: host: 'Abhijit-PC', ip: '192.168.0.100', os.name: 'Windows 7', 
os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_121' 
Driver info: org.openqa.selenium.firefox.FirefoxDriver 
Capabilities [{rotatable=false, raisesAccessibilityExceptions=false, 
marionette=true, firefoxOptions={args=[], prefs={}}, 
appBuildId=20170125094131, version=, platform=XP, proxy={}, command_id=1,  
specificationLevel=0, acceptSslCerts=false, processId=212, 
browserVersion=51.0.1, platformVersion=6.1, XULappId={ec8030f7-c20a-464f- 
9b0e-13a3a9e97384}, browserName=firefox, takesScreenshot=true,  
takesElementScreenshot=true, platformName=windows_nt}] 

Session ID: d56cf93e-4a7d-4b14-b5fb-8f92dee28a00 
*** Element info: {Using=id, value=gender-Male} 
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.http.W3CHttpResponseCodec. 
createException(W3CHttpResponseCodec.java:127) 
at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode 
(W3CHttpResponseCodec.java:93) 
at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode 
(W3CHttpResponseCodec.java:42) 
at org.openqa.selenium.remote.HttpCommandExecutor.execute 
(HttpCommandExecutor.java:163) 
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute 
(DriverCommandExecutor.java:82) 
at org.openqa.selenium.remote.RemoteWebDriver.execute 
(RemoteWebDriver.java:601) 
at org.openqa.selenium.remote.RemoteWebDriver.findElement 
(RemoteWebDriver.java:368) 
at org.openqa.selenium.remote.RemoteWebDriver.findElementById 
(RemoteWebDriver.java:417) 
at org.openqa.selenium.By$ById.findElement(By.java:218) 
at org.openqa.selenium.remote.RemoteWebDriver.findElement 
(RemoteWebDriver.java:360) 
at login.fblogin.main(fblogin.java:22) 

対数誤差であるこのエラーを解決する方法を提案します。 corrospondingページを示すが、上記のエラーがconsole.kindlyヘルプで表示され、このコードブラウザを実行すると、開いている間および

答えて

0

あなたは「driver.findElement(By.id(」ジェンダー男性「))」

使用していました

しかし、このID「gender-Male」は「http://www.facebook.com/」ページには存在しません。

男性のラジオボタンの要素を検索しようとしているようです。「はい」の場合、idを「u_0_l」、つまり「driver.findElement(By.id( "u_0_l"))」としてください。

関連する問題