Internet Explorerにて、以下URLに設置されているjavascriptのボタンをselenium(python)でクリックしたいです。
http://netspeed-tokyo.studio-radish.com/speedtest.html?mode=rw&precision=hi&type=l
どのような方法でクリックできますでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
下記のような質問は推奨されていません。
- 質問になっていない投稿
- スパムや攻撃的な表現を用いた投稿
適切な質問に修正を依頼しましょう。
回答3件
3
ベストアンサー
もう知っているかもしれませんが、たまたまこの質問を見つけたので書いておきます。
seleniumだけでもjavascriptのボタンをクリックすることができます。
まず、タグかなんかでelementを取得して、目当てのelementの座標を取得します。
その座標をActionChainsを使用してクリックします。
参考のコードを下に載せておきます。
python
1from selenium.webdriver.common.action_chains import ActionChains 2 3elements = driver.find_elements_by_tag_name("a") 4loc = elements[0].location 5x, y = loc['x'], loc['y'] 6actions = ActionChains(driver) 7actions.move_by_offset(x, y) 8actions.click() 9actions.perform()
投稿2019/05/11 01:59
総合スコア136
1
ボタンの所にonclick="xxxxxxxx" と書かれていると思います。
seleniumで直接javascriptを実行させれば動きます。
""で囲まれている範囲全部そのままコピペでいいです。
driver.execute_script("xxxxxxxx")
投稿2017/10/17 09:52
総合スコア168
下記のような回答は推奨されていません。
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
このような回答には修正を依頼しましょう。
回答へのコメント
0
javascriptの提供するボタンをクリックするには、たしかseleniumではできなかったはず……(もしかしたらできるのかもしれませんが)
自分は以前同じ問題に当たったとき、「PhantomJS」をインストールして、以下のように用いてなんとかしました。(まずはPhantomJSのインストールから)
python
1from selenium import webdriver 2 3url = http://netspeed-tokyo.studio-radish.com/speedtest.html?mode=rw&precision=hi&type=l 4 # PhantomJsをInternet Explorerで起動 5driver = webdriver.Ie() 6 # urlにアクセスする 7driver.get(url) 8 # 適切に要素を探して出しクリック 9driver.find_element_by_なにか("ボタン").click()
このようにすれば、javascriptのボタンもクリックできます
……が、今回の例のページはJavaアプレットを用いたものなので適切に動くかわかりません。
ちなみに、自分の環境はJAVAがそもそも入ってないので動きませんでした。
投稿2017/10/12 23:46
編集2017/10/12 23:47総合スコア131
下記のような回答は推奨されていません。
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
このような回答には修正を依頼しましょう。
回答へのコメント
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
関連した質問
意見交換
受付中
クラスの public function について、public を省略しますか?しませんか?
回答10
クリップ0
更新
2023/05/24
Q&A
受付中
asp.net core で input type="file" の選択内容を保持する
回答3
クリップ1
更新
2023/05/31
Q&A
受付中
NotionAPIでページコンテンツを取得したい
回答1
クリップ1
更新
2023/05/30
意見交換
受付中
Python経験2年からゲームプログラマーになるためには
回答17
クリップ2
更新
2023/05/30
意見交換
クローズ
ブラウザーバックを効かないようにする方法はありますか。
回答23
クリップ6
更新
2023/05/13
意見交換
受付中
プログラミングの仕事やアルバイトの探し方を教えてください。(プログラミングの職歴はありません)
回答6
クリップ2
更新
2023/05/30
意見交換
クローズ
プログラマを目指す際の進路について
回答40
クリップ2
更新
2023/05/27
意見交換
受付中
データ分析、機械学習や人工知能にPythonが使われている理由に関して。
回答7
クリップ2
更新
2023/05/28
同じタグがついた質問を見る
Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。
Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。
Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2019/11/20 18:25