🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Python

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

selenium

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

Q&A

解決済

1回答

1868閲覧

seleniumで対話式では実行出来るのに、プログラム実行では動作しない現状を解決したい

KOO_

総合スコア58

Python

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

selenium

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

0グッド

0クリップ

投稿2019/10/17 08:37

はじめまして。現在pythonのseleniumを使い、サイトの自動アクセスをプログラムしております。

サイトにログインし、その後も順調にアクセスを行うことができておりますが、途中クリックを行うところがプログラムを実行すると動作せずに止まってしまいます。

ただ、pythonで対話式で実行すると上手く動作するようです。

個人的に原因は特定しきれていませんが、クリックするとモーダルで表示される箇所となりますので他と少し勝手が違うのかなと思います。

以下、ご教示よろしくお願い致します。

from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.keys import Keys import urllib.parse import time driver = webdriver.Chrome("/Users/***/chromedriver") driver.get("https://***/accounts/login/") ... driver.implicitly_wait(5) driver.get("https://***/explore/tags/%E3%82%B0%E3%83%AB%E3%83%A1/") driver.implicitly_wait(5) #ここから動作しない driver.find_element_by_xpath("//article/div[1]/div[1]/div[1]/div[1]/div[1]/a").sendKeys(webdriver.Key.ENTER); #以下のようにclassでも動作しない #detail = driver.find_element_by_class_name("v1Nh3 kIKUG _bz0w") #detail.click()

以下該当html

<div class="v1Nh3 kIKUG _bz0w"> <a href="/p/B3tjwOQAs9k/"> <div class="eLAPa"> <div class="KL4Bh"> <img alt="画像に含まれている可能性があるもの:デザート、食べ物、室内" class="FFVAD" decoding="auto" sizes="293px" srcset="https://***.fkix2-1.fna.fbcdn.net/vp/97b64cac382057a08f1a60341e17ea49/5E25AEE2/t51.2885-15/e35/c0.56.1095.1095a/s150x150/71035412_2439831389605984_4507535781410653183_n.jpg?_nc_ht=***.fkix2-1.fna.fbcdn.net&amp;_nc_cat=1 150w,https://***.fkix2-1.fna.fbcdn.net/vp/fbc9eb7030d36f37c83e748db29c12b7/5E6509E4/t51.2885-15/e35/c0.56.1095.1095a/s240x240/71035412_2439831389605984_4507535781410653183_n.jpg?_nc_ht=***.fkix2-1.fna.fbcdn.net&amp;_nc_cat=1 240w,https://***.fkix2-1.fna.fbcdn.net/vp/d0b63fcaaf1e31f3e660b4919793cd56/5E31D39A/t51.2885-15/e35/c0.56.1095.1095a/s320x320/71035412_2439831389605984_4507535781410653183_n.jpg?_nc_ht=***.fkix2-1.fna.fbcdn.net&amp;_nc_cat=1 320w,https://***.fkix2-1.fna.fbcdn.net/vp/58af2bee2c007126029a7326eb196517/5E459CDD/t51.2885-15/e35/c0.56.1095.1095a/s480x480/71035412_2439831389605984_4507535781410653183_n.jpg?_nc_ht=***.fkix2-1.fna.fbcdn.net&amp;_nc_cat=1 480w,https://***.fkix2-1.fna.fbcdn.net/vp/20cfe8b9f9ccade5ba210126bb119240/5E651775/t51.2885-15/sh0.08/e35/c0.56.1095.1095a/s640x640/71035412_2439831389605984_4507535781410653183_n.jpg?_nc_ht=***.fkix2-1.fna.fbcdn.net&amp;_nc_cat=1 640w" src="https://***.fkix2-1.fna.fbcdn.net/vp/20cfe8b9f9ccade5ba210126bb119240/5E651775/t51.2885-15/sh0.08/e35/c0.56.1095.1095a/s640x640/71035412_2439831389605984_4507535781410653183_n.jpg?_nc_ht=***.fkix2-1.fna.fbcdn.net&amp;_nc_cat=1" style="object-fit: cover;"></div><div class="_9AhH0"></div></div> <div class="u7YqG"><span aria-label="カルーセル" class="mediatypesSpriteCarousel__filled__32 u-__7"></span></div></a></div>

エラー文

Traceback (most recent call last): File "instagram.py", line 32, in <module> driver.find_element_by_xpath("//article/div[1]/div[1]/div[1]/div[1]/div[1]/a").sendKeys(webdriver.Key.ENTER); File "/Users/***/.pyenv/versions/3.7.4/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 394, in find_element_by_xpath return self.find_element(by=By.XPATH, value=xpath) File "/Users/***/.pyenv/versions/3.7.4/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 978, in find_element 'value': value})['value'] File "/Users/***/.pyenv/versions/3.7.4/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute self.error_handler.check_response(response) File "/Users/***/.pyenv/versions/3.7.4/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: unknown error: unknown sessionId (Session info: chrome=77.0.3865.120) (Driver info: chromedriver=2.37.544337 (8c0344a12e552148c185f7d5117db1f28d6c9e85),platform=Mac OS X 10.14.6 x86_64)

以上よろしくお願い致します。

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

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

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

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

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

guest

回答1

0

ベストアンサー

こんにちは。

直接の原因かはわかりませんが、Chromeのバージョンに対してのchromedriverのバージョンの組み合わせがあっていないのが気になりました。

現在、Chromeのメジャーバージョンとchromedriverのメジャーバージョンは揃えた形でリリースされています。

以下のページで、「ChromeDriver 77.0.3865.40 / Supports Chrome version 77」と書いてあるリンクがあるので、ダウンロードして差し替えてみるといかがでしょう。

https://chromedriver.chromium.org/downloads

投稿2019/10/19 10:36

suama

総合スコア1997

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問