1

JavaでSelenium Webdriver(2番目)を使用しています

IFrame 内に入力する方法を理解しようとしています。現在、私は:

WebDriver driver = new FirefoxDriver(); Wait<WebDriver> wait = new WebDriverWait(driver, 30) wait.until(ExpectedConditions.presenceOfElementLocated(By.cssSelector("#cke_contents_textarea1 iframe"))).sendKeys("Test Text");

htmlは次のとおりです。 <td id="cke_contents_textarea1" class="cke_contents" style="height:200px" role="presentation"><iframe style="width: 657px; height: 100%; " frameborder="0" title="Rich text editor, textarea1, press ALT 0 for help." src="" tabindex="-1" allowtransparency="true"> </iframe> </td>

私は多くのコードを編集したので、何かを貼り付け忘れているかもしれません.

カーソルがテキスト ボックス内に表示されることを確認しました (別の iframe を選択すると、カーソルも移動します)。iframe に入力する別のコードはありますか?

4

4 に答える 4

1

Iframe に切り替えなくてもカーソルが表示されることに驚きました。このようにしてみてください

driver.switchTo().frame(driver.findElement(By.id("frameId")));
//do your stuff
driver.switchTo().defaultContent();
于 2012-11-02T19:12:15.403 に答える
1

サンプルコードを参照してください: iFrame を含む Web サイトを使用しました。(注: ウェブページのソース コードに iframe が含まれていることを確認する必要があります)

WebDriver driver = new InternetExplorerDriver();
driver.get("http://www.packagemapping.com/example1.htm#.UJS4DFIerb8");

driver.switchTo().frame(driver.findElement(By.name("frame_track")));
System.out.println(driver.findElement(By.xpath("//*[@id='table2']/tbody/tr/td[3]/font")).getText());
driver.findElement(By.name("shipper")).sendKeys("DHL");
于 2012-11-03T07:27:10.150 に答える