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

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

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

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

selenium

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

Q&A

1回答

2479閲覧

Seleniumを用いたスクレイピングの結果がコンソールに表示されない

makition

総合スコア11

Python 3.x

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

selenium

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

0グッド

0クリップ

投稿2019/06/07 14:45

編集2019/06/07 14:47

問題点

Pythonスクレイピング&クローリングに載っていたサンプルコードでは、スクリーンショットを撮影し検索結果がコンソールにずらっと並んでいるが表示されない。

問題のコード

Python3

1from selenium.webdriver import Chrome, ChromeOptions 2from selenium.webdriver.common.keys import Keys 3 4options = ChromeOptions() 5# ヘッドレスモードを有効にする(次の行をコメントアウトすると画面が表示される)。 6options.add_argument('--headless') 7# ChromeのWebDriverオブジェクトを作成する。 8driver = Chrome(options=options) 9 10# Googleのトップ画面を開く。 11driver.get('https://www.google.co.jp/') 12 13# タイトルに'Google'が含まれていることを確認する。 14assert 'Google' in driver.title 15 16# 検索語を入力して送信する。 17input_element = driver.find_element_by_name('q') 18input_element.send_keys('Python') 19input_element.send_keys(Keys.RETURN) 20 21# タイトルに'Python'が含まれていることを確認する。 22assert 'Python' in driver.title 23 24# スクリーンショットを撮る。 25driver.save_screenshot('chrome_search_results.png') 26 27# 検索結果を表示する。 28for a in driver.find_elements_by_css_selector('h3 > a'): 29 print(a.text) 30 print(a.get_attribute('href')) 31 32driver.quit() # ブラウザーを終了する。

上のコードはQiitaに掲載されていた著者の方のコードです。
SeleniumからStableになったHeadless Chrome/Firefoxを使ってみる

本来の出力結果

Python - ウィキペディア https://ja.wikipedia.org/wiki/Python 専門知識いらず!Pythonとは?言語の特徴から網羅的に徹底解説 | 侍 ... https://www.sejuku.net/blog/7720 Welcome to Python.org https://www.python.org/ Pythonとは?特徴やできること、ダウンロード方法と文法を解説 | TECH ... https://tech-camp.in/note/technology/33753/ Python基礎講座(1 Pythonとは) - Qiita https://qiita.com/Usek/items/ff4d87745dfc5d9b85a4 Pythonとは?何に使えるの?Pythonの特徴や使い道を…|Udemy メディア https://udemy.benesse.co.jp/development/python.html Top - python.jp https://www.python.jp/ 今さら聞けない!Pythonとは【初心者向け】 | TechAcademyマガジン https://techacademy.jp/magazine/15507 Pythonは今のうちに習得すべき?『スラスラわかるPython』著者・岩崎さんと ... https://codezine.jp/article/detail/10329 Pythonで最初に知っておきたかったことのまとめ【初心者向け】 - karaage ... http://karaage.hatenadiary.jp/entry/2017/12/27/073000

となるはずなのですが、私の手元では出力がされていません。(ただErrorも出ずに、スクリーンショットは成功しています。)

試したこと

VSCodeの再起動、仮想環境の再起動、ヘッドレスモードを無効化

実はRoboBrowserを用いた際もErrorは出なかったものの、コンソールには何も出力されませんでした。

実現したいこと

コンソール画面に同じような出力結果がほしい。
確かに正しくは動いていますがやはり不安になってしまいます。

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

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

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

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

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

guest

回答1

0

Python

1driver.find_elements_by_css_selector('h3 > a')

この要素がないんでしょう。
要素がなかったらNone返るので何も出力されません。
F12で本当に要素があるかチェックしてみましょう

投稿2019/06/08 02:48

yamato_user

総合スコア2321

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問