スクレイピングで要素の”ID”や”NAME”が取得できない【python】

目次

経緯

pythonでスクレイピングのプログラムの依頼を受けてました。

とりあえず、プログラムが完成して、

依頼者のパソコンで試したところ、”.find_element_by_id()”のところでエラーがでてしまい。

うまくいきませんでした。

なので、今回、勉強しました。

seleniumのバージョンが違った

結論からいいますと、

「selenium」のバージョンが違ったことが原因でした。

私は「selenium3」で、

依頼者は「selenium4」を使っていました。

「selenium3」と「selenium4」では構文が違うので、うまく動かなったということです。

なので、まず、やったことは、

使っている「selenium」を調べました。

コマンドプロンプトを開いて、

python3
selenium.__version__

の順で入力すると、seleniumのバージョンが確認できます。

次にバージョンに合った構文でプログラムを書きます。

「selenium3」と「selenium4」の構文の違いは以下のようになります。

#要素がIDの場合
.find_element_by_id('xxxx') #selenium3
.find_element(By.ID,'xxxx') #selenium4

#要素がNAMEの場合
.find_element_by_name("xxxx") #selenium3
.find_element(By.NAME,"xxxx") #selenium4

となります。

「selenium4」を使う場合「from selenium.webdriver.common.by import By」

をインポートしてから使ってください。

他の要素の書き方も変わっていたので、各々調べてみてください。

参考になれば、幸いです。

ここまで読んでいただきありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次