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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

selenium

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

Q&A

1回答

2352閲覧

SeleniumにWordPressを使ってサムネイル画像をアップロードする方法は?

Kirby2000

総合スコア24

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

selenium

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

1グッド

1クリップ

投稿2016/08/21 13:08

###前提・実現したいこと
WordPressにSeleniumを使ってサムネイル画像をセットしたいのですが、途中でダイアログが開いてしまい閉じることができません。
StackFLowで聞いたところダイアログは操作できないということが分かりました。
そこで、ダイアログを開かずにサムネイル画像をアップロードしたいのですが、アップロード画面のいろんなパスを試してみましたが、ファイルをアップロードできる部分をみつけることができませんでした。

誰かご存じの方がいら教えて下さい(>_<)!

###該当のソースコード

System.out.println(imgPath);
public void uploadThumbnail(String imgPath) {
System.out.println(imgPath);

driver.findElement(By.id("set-post-thumbnail")).click(); sleep(2000); click(By.linkText("ファイルをアップロード"));

// select この投稿へアップロード
sleep(1000);
driver.findElement(By.xpath("supports-drag-drop")).sendKeys(imgPath);
// upload
// driver.findElement(By.xpath("//div[7]/input")).sendKeys(imgPath);
sleep(2000);

driver.findElement(By.xpath("//div[@id='__wp-uploader-id-0']/div[5]/div/div[2]/button")).click(); } catch (Exception e) { e.printStackTrace(); sleep(1000); }

###試したこと
WordPressの画像アップロード画面のボタンやウィンドウ部分にパスを設定し、.sendKey();をしてみましたが、アップロードすることができませんでした。

###補足情報(言語/FW/ツール等のバージョンなど)
言語 Java
Selenium

tamechop👍を押しています

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

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

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

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

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

guest

回答1

0

ダイアログを操作することはできないため、sendKeys()を使用して入力するという方針で正しいと思います。

ただsendKeys()の対象となる要素は「ボタンやウィンドウ」ではないと思うので、type属性がfileになっていたり、それらしいname属性だったりするものを探して試してみるとうまく動くかもしれません。

投稿2016/09/06 10:42

enctype

総合スコア40

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問