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

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

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

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

selenium

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

7267閲覧

Selenium:ログインボタンクリックの動作をする為のメソッドに使える要素がページ内にない

yarukkyanai

総合スコア10

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

selenium

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/08/26 01:40

編集2020/08/26 04:47

前提・実現したいこと

プログラミングほぼ未経験者です。
毎日行うログイン作業を自動化するため、Seleniumでログインボタンをクリックする動作をさせたいです。
Jupyter Labでコードを書いて実行したところ、次のエラーが発生しています。

発生している問題・エラーメッセージ

-------------------------------------- AttributeErrorTraceback (most recent call last) <ipython-input-21-d8306537cc3a> in <module> ----> 1 browser_from = browser.find_element_by_class('margin-tb10 text-center') 2 time.sleep(3) 3 browser_from.click() 4 print("ログインボタンを押しました") AttributeError: 'WebDriver' object has no attribute 'find_element_by_class'

該当のソースコードPython3

セル1

!pip install beautifulsoup4

セル2

!pip install selenium

セル3

from selenium import webdriver import time import pandas as pd

セル4

browser = webdriver.Chrome(executable_path = 'C:\Users\ユーザー名\Desktop\MyPandas\chromedriver.exe') browser.implicitly_wait(3) print("GoogleChromeを起動しました")

セル5

url_login = "http://ログインしたいサイトURL" browser.get(url_login) time.sleep(3) print("ログインしたいサイトのログインページにアクセスしました")

セル6

USER = "ユーザー名" PASS = "パスワード" element = browser.find_element_by_id('code') element.clear() element.send_keys(USER) element = browser.find_element_by_id('password') element.clear() element.send_keys(PASS) print("ログイン情報をフォームに入力しました")

(実行するとエラーが出る)セル7

browser_from = browser.find_element_by_class('margin-tb10 text-center') time.sleep(3) browser_from.click() print("ログインボタンを押しました")

試したこと

クリックしたいログインボタンのHTMLです。
イメージ説明
・次の要素に情報入れ替えてみましたが、どちらともやはり同じエラーが出てしまいます。
browser_from = browser.find_element_by_tabindex('3')
browser_from = browser.find_element_by_value('ログイン')
・次の要素がHTMLに含まれていないか再度確認しました。
id
name
xpath
link_text
partial_link_text
tag_name
class_name
css_selector

補足情報(FW/ツールのバージョンなど)

OS:Windows10Pro
コマンドプロンプトから、AnacondaのJupyterLabを立ち上げてコードを書いています。

以上、エラーを解決にあたり、他に確認すべきこと等ございましたらアドバイスやヒントいただけましたら幸いです。
よろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

自己解決

python3

1frm = browser.find_element_by_xpath('フルXPath') 2time.sleep(1) 3frm.click()

で実行され、無事ログインボタンが押されることがわかりました。

フルxpathは、
クリック自動化したいログインボタンの要素のHTML部分を右クリック>Copy>Copy full XPath
でコピーしたものを貼りつけました。

投稿2020/08/27 00:44

yarukkyanai

総合スコア10

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

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

0

AnacondaのJupyterLabを立ち上げてコードを書いています。

とりあえず、プログラムをファイルに書いて、コマンドプロンプトで、

CMD

1"python.exeのフルパス" "プログラムを書いたファイルのフルパス"

で実行してみてください。すべてはそれからです。
質問文のコードだと変数browserが未定義ですね。importも抜けてるし、完結したプログラムじゃないです。

投稿2020/08/26 02:51

otn

総合スコア84557

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

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

yarukkyanai

2020/08/26 05:10

ありがとうございます。 コードを追記しました。 ファイルは、「.ipynb」でなく「.py」で保存してみたのですが、どちらもコマンドプロンプトおよびパワーシェルでうまく実行されませんでした。。
otn

2020/08/26 07:40

> どちらもコマンドプロンプトおよびパワーシェルでうまく実行されませんでした。。 では、まず、そこからですね。 コマンドプロンプトでコマンドを入れると、どうなったのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問