私たちはアプリケーションで、セレンを使用して自動化するリッチテキストエディタを用意しています。以下は同じもののhtmlです。リテインテキストエディタでテキストをSelenium webdriverに入力する方法は?
<iframe style="height: 76px; width: 1004px;"></iframe>
<html><head></head><body spellcheck="false"></body></html>
<head></head>
<body spellcheck="false"></body>
<html><head></head><body spellcheck="false"></body></html>
<iframe style="height: 76px; width: 1004px;"></iframe>
<div class=""><iframe style="height: 76px; width: 1004px;"></iframe></div>
<textarea class="form-control Editor" name="actionUpdate" id="actionUpdateId" style="display: none;"></textarea>
複数のオプションを試しました。 XPathを使用して要素を見つけることができないとして、それはIE11のブラウザでは動作しません。しかし、次のコードは、Chromeブラウザ
driver.switchTo().frame(0);
WebElement el = driver.switchTo().activeElement();
new Actions(driver).moveToElement(el).perform();
driver.findElement(By.xpath("/html/body")).sendKeys("Check");
に完全に正常に動作します。 両方のブラウザの違いは、IEを使ってテキストフィールドに何かを入力すると、textareaタグに行きます。しかし、クロムではbodyタグで入力します。 IEでID = "actionUpdateID"を使用して要素を検索しようとしましたが、要素が表示されないという例外がスローされます。おそらくstyle = "display:none;"
それは本当に完全な 'XPath'ですか?それは私にとって正しいとは思わない。 – Brian
はい、完全なxpathです。iframeに切り替えると、おそらく/ html/bodyと一緒に問題なく動作しています。 –