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

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

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

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

selenium

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

Q&A

1回答

370閲覧

chromeで検索ページを出したあとに出るエラーについて

nekomami

総合スコア10

Python 3.x

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

selenium

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

0グッド

0クリップ

投稿2018/11/12 07:14

python selenium chromeで表示させたページのサーチエリアに、
検索ワードを入力して検索ボタンをクリックし、
検索結果のページが表示されたあとに、ターミナル画面でエラーが表示されます。
chromeのブラウザでは検索ワードが正しく検索され、検索結果のWebページが表示されています。
ここまでのコードは下記です。

driver = webdriver.Chrome("C:\chromedriver\chromedriver.exe") driver.get(url) search_area = driver.find_element_by_css_selector('○○○').send_key("ワード") driver.find_element_by_css_selector('○○○').click()

上記実行後に、ターミナルにエラーが出ます。
おそらくですが、検索結果の表示件数分相当の行数でエラーが出ます。
検索結果が30件あれば、30行ほど同じエラーが連なります。
エラーは下記です。
chromeでは検索結果のWebページが表示されています。

[xxxx/xxxxxx.▲▲▲:ERROR:inspector_emulator_agent.cc(477)] Can only enable virtual time for pages, not workers

xと▲は、数字です。×の部分は、どの行数も同じ数字です。▲は一つずつ増えます。
(例)
1234/654321/991
1234/654321/992
1234/654321/993
1234/654321/994

同じ方法でいくつかの検索サイトを読み込んで検索してみましたが、上記のようなエラーはありません。
ひとつのサイトだけでこのようなエラーがでます。
このエラーは何のエラーでしょうか。
また、ご存知でしたらエラーがでないようにする方法を教えていただけないでしょうか。

どうぞよろしくお願いします。
(不足情報ご指摘ください。追記いたします。お手数おかけいたします。)

追記:
エラーを検索して下記URLにたどり着きましたが、何のエラーなのかもどう対処すればいいのかもわかりませんでした。よくわからないまま、options.add_argument('--no-sandbox')等加えてみましたが、ダメでした。。。

 https://stackoverflow.com/questions/52936260/errorinspector-emulator-agent-cc477-can-only-enable-virtual-time-for-pages-n


windows7
python-3.6.4
selenium

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

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

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

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

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

guest

回答1

0

まず、環境の問題なのかコードの問題なのか切り分けて行きましょうか。
紹介されているコードで省略されている部分もあると思いますので、Googleでwordを検索する以下のコードを動かしてみて動くかどうか確認していただけますか。
私の手元ではブラウザの起動から終了(Quit)まで動作していることを確認済みです。
(chromedriverのパスを通しているため、driver = webdriver.Chrome()と書いています)

# coding:utf-8 from selenium import webdriver driver = webdriver.Chrome() url = 'https://www.google.com/' driver.get(url) search_area = driver.find_element_by_id('lst-ib').send_keys('word') driver.find_element_by_name('btnK').click() driver.quit()

投稿2018/11/14 02:32

oh_rusty_nail

総合スコア319

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

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

nekomami

2018/11/15 00:21

お返事ありがとうございます。 遅くなってすみません。 ご記載いただきましたコードを動かしてみました。 問題なくブラウザも起動、google.comの画面からサーチワードにwordが入り、 検索結果(約3,320,000,000件)も表示され、ブラウザもクローズされました。 ほとんどのWebページでの検索には問題ないのですが、 エラーの出るページがYahooショッピングです。 下記で試していただけないでしょうか。 お手数おかけいたします。どうぞよろしくお願いいたします。 (chromeには検索画面がでます。ターミナルにエラーが出ます。) --------------------------------------- # coding:utf-8 from selenium import webdriver driver = webdriver.Chrome() url = 'https://shopping.yahoo.co.jp/' driver.get(url) search_area = driver.find_element_by_css_selector('div#h_srch div.elKeyword p.elText input').send_keys('word') driver.find_element_by_id('ss_srch_btn').click() driver.quit() ---------------------------------------
oh_rusty_nail

2018/11/15 02:15

検証コードありがとうございます。 試してみましたが、動作も正常でターミナル上にも何もエラーが出力されませんでした。 そして私の確認環境はMac OSX だったのでその差分で調べていたのですが、 options = webdriver.ChromeOptions() options.add_argument('--disable-gpu') これを追加で解決したりしませんか? https://stackoverflow.com/questions/52936260/errorinspector-emulator-agent-cc477-can-only-enable-virtual-time-for-pages-n に以下のように書かれているので If you are on Windows OS you need to add the argument --disable-gpu as follows: (Windows OSの場合は、次のように引数--disable-gpuを追加する必要があります。)
nekomami

2018/11/15 02:52

早速ご連絡ありがとうございます。 検証いただいてありがとうございました。 options = webdriver.ChromeOptions() options.add_argument('--disable-gpu') ↑こちらをそのままコピーして実行しました。 よくわからなかったので、driver = webdriver.、、、の前と、後とで 実行しましたが、どちらもターミナルにかなりの行のエラーが出てきます。 教えていただいたコードは、環境によって変更が必要でしょうか。 今のところ、このYahooショッピングのトップページの検索のみです。 Yahooショッピング内の、どこかのお店の「https://store.shopping.yahoo.co.jp/お店の名前(ショップID)/search.html」で、サーチエリアにワードを入れて検索した場合は、エラーはでません。 oh_rusty_nailさんの環境で問題ないとのことですので、私の環境が 何かおかしいのだと思います。 お時間割いていただいてすみません。
oh_rusty_nail

2018/11/15 05:56

失礼しました。フルでコード載せればよかったですね。 --------------------------------------- # coding:utf-8 from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() options.add_argument('--headless') options.add_argument('--disable-gpu') options.add_argument('--no-sandbox') driver = webdriver.Chrome(chrome_options=options) url = 'https://shopping.yahoo.co.jp/' driver.get(url) search_area = driver.find_element_by_css_selector('div#h_srch div.elKeyword p.elText input').send_keys('word') driver.find_element_by_id('ss_srch_btn').click() driver.quit() ---------------------------------------
nekomami

2018/11/16 00:34

ご丁寧にご連絡ありがとうございました。 ご記載いただきましたコード実行しました。 driver = webdriver.Chrome(chrome_options=options) のあとに、 ------------------- [1116/091926.406:ERROR:gpu_process_transport_factory.cc(980)]Lost UI shared context. ------------------- このようなエラーが出ます。 すみません。お手数おかけします。よろしくお願いします。
oh_rusty_nail

2018/11/19 02:16

実行ありがとうございます。 こうなると環境に問題がある可能性が高いですね。 Chrome/ChromeDriverのバージョンが古かったりすると不具合がある可能性がありますがいかがでしょうか?
nekomami

2018/11/19 06:36

ご連絡ありがとうございます。 ChromeDriver 2.43 でしたので、確認いたしましたが最新版のようでした。 おっしゃられるとおり、私の環境に原因があると思います。 このWebページでのみエラーがでるという条件が付きますし、エラーを見ても理解できませんし、時間がかかりそうです、、、。 お付き合いしてくださってありがとうございました。 少しずつ解決できるよういろいろと調べて試してみます。 また何か思いつくことがございましたら教えてください。 どうぞよろしくお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問