2016-08-02 7 views
-1
package javapackage; 

import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.chrome.ChromeDriver; 

import java.util.concurrent.TimeUnit; 

import org.openqa.selenium.By; 
public class SeleniumQuora { 
public static void LaunchQuora() 
{ 
    System.setProperty("webdriver.chrome.driver","E:\\SBI SO\\Selenium\\Extracts\\chromedriver.exe"); 
    WebDriver driver=new ChromeDriver(); 
    driver.get("https://www.quora.com/"); 
    driver.manage().window().maximize(); 
    driver.manage().timeouts().implicitlyWait(13, TimeUnit.SECONDS); 
    driver.findElement(By.xpath("//*[@id='__w2_lIh8Ilg_google_connect_button']/span")).click(); 

    } 

public static void main(String[] args) { 
    LaunchQuora();}} 

このコードはsignInページの[Googleで続行]オプションをクリックすると想定されています。しかし、何も起こりません。その基本的な私は知っているが、私はほとんどの場所を検索し、答えを見つけることができません。実際に私が見て、ID __w2_lIh8Ilg_google_connect_buttonと要素がないこのwebsiteでは、間違った要素を見つけているChromeでセレンのwebdriverスクリプトが動作しない

+1

あなたは "何も起こらない" とはどういう意味ですか?ブラウザウィンドウが開きませんか?ログ出力はどうですか?スタックトレース?どのOSでテストを呼び出すのですか? –

+0

私のGoogle IDを続行するよう求めるポップアップは表示されません。 –

答えて

0

は、idが動的に生成されて、あなたはContinue with Googleボタンをクリックした場合、単純に以下のようにBy.linkText()を使用してみてくださいすることがあります: -

System.setProperty("webdriver.chrome.driver","E:\\SBI SO\\Selenium\\Extracts\\chromedriver.exe"); 

ChromeOptions options = new ChromeOptions(); 
options.addArguments("--disable-popup-blocking"); 
WebDriver driver = new ChromeDriver(options); 

driver.get("https://www.quora.com/"); 
driver.manage().window().maximize(); 
driver.manage().timeouts().implicitlyWait(13, TimeUnit.SECONDS); 
driver.findElement(By.linkText("Continue with Google")).click(); 

はそれが役に立てば幸い.. :)

+0

パーフェクト。それはうまくいった、Thank You Saurabh。好奇心からちょうど、もし私が必然的にxpathを使用しなければならないかどうか尋ねてもいいですか? –

+0

@ShashankShukla 'xpath'を使用する必要はありませんが、xpathを要求する場合、ここではidが動的に生成されるため、xpathにidの代わりにクラスを使用できます。この' xpath'を使うことができます: '// a [@class = google_button submit_button '] ' –

関連する問題