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

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

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

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

2回答

907閲覧

Seleniumを利用したChrome操作に関して

yukicb

総合スコア21

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/04/15 15:53

前提・実現したいこと

MacでVSCodeを利用しており、Seleniumを使って、
下記、インスタグラムのログイン情報(ユーザーネーム部分)への挿入が上手くいかない状況です。
原因がお分かりの方がいればご教示いただけますと幸いです。

usernamePathのコードは、webdriverにて開いた「https://www.instagram.com/」ページよりご確認いただけますと幸いです。

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

Traceback (most recent call last): File "/Users/name/python/instagram.py", line 16, in <module> usernameField = browser.find_element_by_xpath(usernamePath) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 394, in find_element_by_xpath return self.find_element(by=By.XPATH, value=xpath) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 976, in find_element return self.execute(Command.FIND_ELEMENT, { File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute self.error_handler.check_response(response) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="react-root"]/section/main/article/div[2]/div[1]/div/form/div[1]/div/label/input"} (Session info: chrome=80.0.3987.163)

該当のソースコード

Python

1from selenium import webdriver 2from selenium.webdriver.common.keys import Keys 3import urllib.parse 4import time 5import chromedriver_binary 6 7browser = webdriver.Chrome() 8 9loginURL = "https://www.instagram.com/" 10browser.get(loginURL) 11 12username = "abc" 13password = "def" 14 15usernamePath = '//*[@id="react-root"]/section/main/article/div[2]/div[1]/div/form/div[1]/div/label/input' 16usernameField = browser.find_element_by_xpath(usernamePath) 17usernameField.send_keys(username)

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

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

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

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

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

meg_

2020/04/16 00:41

インスタグラムはスクレイピング禁止かと思います。
yukicb

2020/04/18 06:36

色々調べると、そのようになりつつあるようですね、、 別システムの構築へ切り替えて行きたいと思います????‍♂️
guest

回答2

0

自己解決

下記記載変更をすることで上手く処理できました。
usernamePath = '//*[@id="react-root"]/section/main/article/div[2]/div[1]/div/form/div[1]/div/label/input'

username_path = '//form//div[2]//input'

投稿2020/04/18 06:34

yukicb

総合スコア21

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

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

0

エラーメッセージの通りですが、そういう要素は無いというエラーなので、XPathの指定が間違っています。

投稿2020/04/15 22:04

otn

総合スコア84538

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

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

yukicb

2020/04/18 06:34

ご回答ありがとうございます。 おっしゃる通りで、下記に変更することで上手く動作しました! username_path = '//form//div[2]//input'
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問