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

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

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

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

selenium

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

Q&A

0回答

1863閲覧

Seleniumを使ったコードがいきなり機能しなくなった

gambamavis

総合スコア0

Python 3.x

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

selenium

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

0グッド

0クリップ

投稿2020/12/25 02:10

編集2020/12/25 03:28

今まではヘッドレスモードでも動いていたのですが、"Error: <ユーザーネーム or 要素が見つかりませんでした>"と表示され、一向に問題特定ができません。

ヘッドレスモードを解除するとちゃんと動きます。
どなたかわかる方いればご教授願います。

python

1#coding:utf-8 2import time 3import random 4import sys 5from selenium import webdriver 6from selenium.webdriver.common.keys import Keys 7from selenium.webdriver.chrome.options import Options 8 9option = Options() 10option.add_argument('--incognito') 11option.add_argument('--headless') 12option.add_argument('enable-crash-reporter') 13 14 15driver = webdriver.Chrome(executable_path="/***/***/Desktop/***/driver/chromedriver",options=option) 16#要素が見つかるまで、最大10秒間待機する 17driver.implicitly_wait(20) 18 19def login_etc(your_id, your_pass): 20 try: 21 driver.get("https://www.instagram.com/?hl=ja") 22 time.sleep(2) 23 print("-----------------------------------------------") 24 print("Succcess: <URLにアクセス完了>") 25 print("-----------------------------------------------") 26 except: 27 print("Error: <URLが見つかりませんでした>") 28 sys.exit() 29 try: 30 # ログインIDを入力 31 login_id = driver.find_element_by_name("username") 32 login_id.send_keys(your_id) 33 34 print("Succcess: <ユーザーネーム入力完了>") 35 print("-----------------------------------------------") 36 except: 37 print("Error: <ユーザーネーム or 要素が見つかりませんでした>") 38 sys.exit() 39 try: 40 # パスワードを入力 41 password = driver.find_element_by_name("password") 42 password.send_keys(your_pass) 43 #login_pass = your_pass 44 #driver.execute_script('document.getElementsByTagName("password").value="%s";' % login_pass) 45 print("Succcess: <パスワード入力完了>") 46 print("-----------------------------------------------") 47 except: 48 print("Error: <パスワード or 要素が見つかりませんでした>") 49 sys.exit() 50 try: 51 #ログインボタンをクリック 52 driver.find_element_by_class_name('L3NKy ').click() 53 print("Succcess: <ログイン完了>") 54 print("-----------------------------------------------") 55 except: 56 print("Error: <ログインボタンを押せませんでした>") 57 sys.exit() 58 try: 59 #メッセージをクッリク 60 driver.find_element_by_class_name('xWeGp').click() 61 print("Succcess: <メッセージ移動>") 62 print("-----------------------------------------------") 63 except: 64 print("Error: <メッセージに移動できませんでした>") 65 sys.exit() 66 67 #お知らせの通知を'後で'にする(※ヘッドレスの際はいらない) 68 '''try: 69 driver.find_element_by_css_selector('.HoLwm').click() 70 except: 71 pass'''

URLアクセスした後エラーになっていたので要素が見つからずにエラーしていました。

イメージ説明

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

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

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

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

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

meg_

2020/12/25 02:23

Instagramはスクレイピングが禁止されているかと思います。利用規約をご確認ください。
otn

2020/12/25 02:29

exceptの中で、ページのHTMLと、画面のスナップショットを確保して、調べましょう。
gambamavis

2020/12/25 03:29

追記したようにページがエラーしていたので要素が取得できなかったみたいです。 ですが、なぜヘッドレス時にのみエラーするのでしょうか? 対処方法はないのでしょうか?
otn

2020/12/25 03:41

> Instagramはスクレイピングが禁止されているかと思います。 が原因ですかね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問