2017-12-20 11 views
0

私はSelenium Webdriverを学んでいますが、Googleから「Quora」にログインしようとしていましたが、電子メールの入力セクションではコードが機能しません。 。。selenium webdriverの 'entry.level'エラーが見つかりません

import org.openqa.*; 

import org.openqa.selenium.By; 

import org.openqa.selenium.WebDriver; 

import org.openqa.selenium.WebElement; 

import org.openqa.selenium.chrome.ChromeDriver; 

public class Demo2 { 

    public static void main(String[] args) { 

     System.setProperty("webdriver.chrome.driver", "C:\\chromedriver.exe"); 

     WebDriver driver=new ChromeDriver(); 

     String url="https://quora.com"; 

     driver.get(url); 

     WebElement ele1=driver.findElement(By.className("google_button_text")); 

     ele1.click();  

     WebElement email1=driver.findElement(By.name("identifier")); 

     email1.sendKeys("fggffgfd"); 

     WebElement next1=driver.findElement(By.className("RveJvd snByac")); 

     next1.click(); 

     WebElement password=driver.findElement(By.className("whsOnd zHQkBf")); 

     password.click(); 

     password.sendKeys("Sffgdffdf3"); 

     WebElement next2=driver.findElement(By.className("RveJvd snByac")); 

     next2.click();   
    } 
} 
+0

しかし、私はそのコメントにも言及しました。しかし、まだエラーが発生しています。 –

+0

同じエラーが発生しました。私のクロームドライバを最新のV3.0以上にアップデートすることで解決します。 –

答えて

0

は、名前の代わりにIDを使用して要素を選択あなたは

By.id("identifierId") 

代わりの

By.name("identifier") 
使用することができます。問題が何であるかを把握するために助けてください以下は私のコードです。

以下のコードのスナップのようなWindowHandleを使用してみてください:

ele1.click(); 

String mainWindowHandler = driver.getWindowHandle(); 

for(String winHandle : driver.getWindowHandles()){ 
    driver.switchTo().window(winHandle); 
} 

WebElement email1=driver.findElement(By.id("identifierId")); 

それは、メールフィールドにテキストを書き込みます。次にの次のボタンの正確なセレクタをキャプチャする必要がありますBy.cssSelector("#identifierNext > content > span")のようなボタン。このようにして、パスワードフィールドとの次のボタンについてはcssSelectorを探してみてください。

コードの終わりに、あなたは第二ウィンドウを閉じ、メインウィンドウに切り替えるには、コードの以下の行を追加します。必要があります。

driver.close(); 
driver.switchTo().window(mainWindowHandler); 

うまくいけば、それはあなたの問題を解決します。

+0

xpathを含めてすべて試しました。何も動作していません –

+0

@ SaranyaVよろしくね!私は答えを更新しました。これを実装しようとしてください。コードをデバッグし、電子メールフィールドに書き込み中かどうかを確認してください。 –

+0

@SaranyaVあなたのご意見をお知らせください。 –

関連する問題