4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

seleniumでリンク(aタグ)をクリックできないときの対処

Posted at

やりたいこと

seleniumを利用してのウェブスクレイピング。
リンクをクリックしてリンク先へ遷移したいだけなんです。

できなかったこと

ターゲットとする要素を、文字列指定で特定し、クリック。
しかし、何も起こらず、静かに時を刻むだけ・・・

from selenium import webdriver

browser = webdriver.Chrome((r'C:\Users\[ユーザ名]\chromedriver.exe')
browser.get([目的のURL])

element_target = browser.find_element_by_link_text([ターゲットとする文字列])
element_target.click()

念のため[find_elements_by_link_text]で検索し要素数を確認しても1つだったため、別のお門違いのリンクをクリックしているわけでもなさそう。

「aタグからjavascriptを実行させる」ようになっている場合は、クリックが動作しない場合があるようですが、今回はそのような内容ではありませんでした。

それに、私の記憶が確かならば、上記コードで動作していたものが、ある時から急に動作しなくなりました。

仕方なく解決

クリックはもうあきらめ、下記の方法で解決することができました。
リンクをエンターキーで押下する、という方法です。

上述のコードの最後の2行を下記に置き換える感じです。

from selenium.webdriver.common.keys import Keys

element_target = browser.find_element_by_link_text([ターゲットとする文字列])
element_target.send_keys(Keys.ENTER)

しかし、最後までクリックが動作しなくなったのは謎でございます。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?