質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

0回答

1407閲覧

【Selenium Webdriver】TinyMCE Advancedを使用したWordPressの投稿テストでiframeの値が変更できない

toshiki_

総合スコア11

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2017/09/18 12:58

###前提・実現したいこと
Selenium WebdriverでTinyMCE Advancedを使用したWordPressの投稿テストをしたい

###発生している問題・エラーメッセージ
iframeの中のdomの値を変更できなく、困っております。
WordPressをインストールしただけの状態だと普通にできました、
今回試しているのが『TinyMCE Advanced』というプラグインを使用しているせいか
本文の入力欄にiframeを使用した箇所ができてしまい、そこの要素がうまく触れていないように思われます。

以下の動画や参考サイトを見る限りseleniumIDEからだと設定できるようなのですが、
webdriverからのやり方がわかりません。

IDEでiframe内のinnerHTMLを変更する(YouTubeの動画)
Selenium IDEでinnerHTMLを操作する

WebDriverError: Element is not visible at WebDriverError (C:\xxx\node_modules\selenium-webdriver\lib\error.js:27:5) at Object.throwDecodedError (C:\xxx\node_modules\selenium-webdriver\lib\error.js:497:15) at parseHttpResponse (C:\xxx\node_modules\selenium-webdriver\lib\http.js:519:13) at doSend.then.response (C:\xxx\node_modules\selenium-webdriver\lib\http.js:441:30) at process._tickCallback (internal/process/next_tick.js:103:7) From: Task: WebElement.sendKeys() at thenableWebDriverProxy.schedule (C:\xxx\node_modules\selenium-webdriver\lib\webdriver.js:807:17) at WebElementPromise.schedule_ (C:\xxx\node_modules\selenium-webdriver\lib\webdriver.js:2015:25) at WebElementPromise.sendKeys (C:\xxx\node_modules\selenium-webdriver\lib\webdriver.js:2178:19) at csv.parse (C:\xxx\xxx.js:27:38) at Parser.<anonymous> (C:\xxx\node_modules\csv-parse\lib\index.js:71:16) at emitNone (events.js:91:20) at Parser.emit (events.js:185:7) at endReadableNT (_stream_readable.js:974:12) at _combinedTickCallback (internal/process/next_tick.js:74:11) at process._tickCallback (internal/process/next_tick.js:98:9)

###該当のソースコード(一部抜粋)

javascript

1const fs = require('fs'); 2const csv = require('csv'); 3const webdriver = require('selenium-webdriver'), 4 By = webdriver.By, 5 until = webdriver.until; 6const driver = new webdriver.Builder().forBrowser('firefox').build(); 7 8driver.get("ログインURL"); // ログインURL 9driver.findElement(By.id("user_login")).sendKeys("ログインID"); // ログインID 10driver.findElement(By.id("user_pass")).sendKeys("パスワード"); // ログインパスワード 11driver.findElement(By.id("wp-submit")).click(); // ログイン 12driver.findElement(By.linkText("投稿")).click(); 13driver.findElement(By.linkText("新規追加")).click(); 14driver.findElement(By.id("title")).sendKeys("タイトル"); 15// ここに本文を入力する処理を入れたい。 16driver.findElement(By.id("publish")).click();

実際にはcsvから読み込んだ値を入力する仕様になっています。

###試したこと
以下のように実装してみたのですが、上記のようなエラーが発生しました。

javascript

1frame = driver.findElement(By.id('content_ifr')); 2frame.findElement(By.xpath("//p")).sendKeys("本文");

###補足情報(言語/FW/ツール等のバージョンなど)
node(v6.9.5)
geckodriver-v0.18.0-win64

他にも必要な情報がありましたらご指摘ください。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問