Internet Explorerにて、以下URLに設置されているjavascriptのボタンをselenium(python)でクリックしたいです。
http://netspeed-tokyo.studio-radish.com/speedtest.html?mode=rw&precision=hi&type=l
どのような方法でクリックできますでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
ベストアンサー
もう知っているかもしれませんが、たまたまこの質問を見つけたので書いておきます。
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
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
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/15 11:42
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/20 18:25