2016-11-29 19 views
0

enter image description hereは、どのように私はクロームドライバーに

を使用して電子メールセクションでは、メールボックスの入力テキストに私を助けることができ埋めるのですか?メールボックスは、上部のmasukボタンをクリックすると表示されますが、メールボックスのsendkeysには届きません。

H | EREは、URL - www.tokopedia.com

であり、ここで承認フォームがiframe要素内に位置するためです

public static void main(String[] args) throws Exception { 
System.setProperty("webdriver.chrome.driver", "E:\\Download\\chromedriver_win32\\chromedriver.exe"); 
WebDriver driver=new ChromeDriver(); 
driver.get("https://www.tokopedia.com/"); 
Thread.sleep(3000); 
WebElement element = driver.findElement(By.id("login-ddl-link")); 
JavascriptExecutor executor = (JavascriptExecutor)driver; 
executor.executeScript("arguments[0].click();", element); 
driver.findElement(By.id("login-ddl-link")).click(); 
driver.switchTo().frame("iframe-accounts"); 
WebElement myEmail = driver.findElement(By.id("inputEmail")); 
myEmail.sendKeys("tes213"); 
WebElement myPassword = driver.findElement(By.id("inputPassword")); 
myPassword.sendKeys("tes123"); 
} 
+0

「動作しない」とはどういう意味ですか?あなたのコードの実行結果は何ですか? – Andersson

+0

これはmasukボタンをクリックするだけですが、電子メールボックスをクリックすることはありません。 –

答えて

0

動作しないコードです。あなたは

driver.switchTo().defaultContent(); 

P.S.を使用する必要があります

... 
driver.findElement(By.id("login-ddl-link")).click(); 
Thread.sleep(2000); 
driver.switchTo().frame("iframe-accounts"); 
WebElement myEmail = driver.findElement(By.id("inputEmail")); 
myEmail.sendKeys("tes123"); 
... 

がスイッチバックするには:あなたは、最初にそのフレームに切り替え、その後、入力フィールドを処理する必要があります入力フィールドをクリックする必要はありませんので、driver.findElement(By.id("inputEmail")).click();は冗長行です

+0

こんにちは、あなたのコードはifram-accountsをダブルクリックするように動作しますので、iframeをすぐに閉じる –

+0

'driverを使用していませんか? findElement(By.id( "login-ddl-link"))。click(); 'あなたのコードで2回? – Andersson

+0

はい、私はdriver.findElement(By.id( "login-ddl-link"))を入れませんでした。クリック(); 2回 –

0

このコードを使用すると、Chromeでうまく動作しました。

public static void main(String [] ar) throws Exception { 

     System.setProperty("webdriver.chrome.driver", "E:\\Download\\chromedriver_win32\\chromedriver.exe"); 
     WebDriver driver=new ChromeDriver(); 
     driver.get("https://www.tokopedia.com/"); 

     Thread.sleep(3000); 

     WebElement element = driver.findElement(By.xpath("//*[@id='login-ddl-link']")); 

     JavascriptExecutor executor = (JavascriptExecutor)driver;   
     executor.executeScript("arguments[0].click();", element); 

     driver.switchTo().frame("iframe-accounts"); 

     WebElement myEmail = driver.findElement(By.id("inputEmail")); 
     myEmail.sendKeys("tes213"); 

     WebElement myPassword = driver.findElement(By.id("inputPassword")); 
     myPassword.sendKeys("tes123"); 

     driver.findElement(By.xpath(".//*[@id='global_login_btn']")).click(); 
}