2017-01-19 3 views
0

はそれが形を有するthis website.セレンは

の要素をチェックアウトし、2テキスト入力と1と一緒にボタンを提出してください。 私は、2つの入力から実際に使用されている入力を知っていません。

しかし、私は要素を取得する(firefoxDriverを使用して)、これを試してみました:

WebElement textfieldURL = driver.findElement(By.id("ping-url")); // even ping-box not working 

結果の要素を見つけることができませんが。

それから私はこれに私のコードを変更します。

driver.switchTo().frame(driver.findElement(By.className("ping-iframe"))); 
WebElement textfieldURL = driver.findElement(By.id("ping-url")); // even ping-box not working 

結果はまだ要素を見つけることができないのです。 手がかりはありますか?

答えて

1

あなたが直面しているexceptionについては言及していません。 iframeの下に存在あなたinputタグようにあなたがフレームに最初のスイッチに必要とアクションを実行する必要がより -

driver.switchTo().frame(driver.findElement(By.className("ping-iframe"))); 
//or you can use frame index as well 
driver.switchTo().frame(0); 

あなたの要素にid ping-boxで使用可能です。次の完全なコードを試してください。 -

System.setProperty("webdriver.gecko.driver","D:/Application/geckodriver.exe"); 
driver = new FirefoxDriver(); 
driver.manage().window().maximize(); 
driver.get("https://www.twingly.com/ping"); 
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); 
driver.switchTo().frame(driver.findElement(By.className("ping-iframe"))); 
driver.findElement(By.id("ping-box")).sendKeys("http://www.google.com"); 
driver.findElement(By.id("ping-button")).click(); 

同じことをしています。

+0

タイムアウトのおかげで、答えは次のように見えます。D – gumuruh