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

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

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

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

Python

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

selenium

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

Q&A

解決済

1回答

3211閲覧

python3のseleniumで日本語がエラーになる。

toss

総合スコア56

Python 3.x

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

Python

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

selenium

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

0グッド

0クリップ

投稿2020/06/20 12:17

Pythonでseleniumを使い、Googleの検索結果を取得するスクリプトを作成しました。
しかし、キーワードに英語を入れる場合は取得できるのですが、日本語を入れた場合には表示することが出来ません。

これまで様々なサイトを見ましたが、どうしても解決が出来なかったため質問しました。
なお、コマンド上でファイルを実行したら取得ができます。
ブラウザで実行した場合に表示ができません。(英語の場合には表示ができます)
どなたかご教授いただけないでしょうか?

python3

1#!/usr/bin/env python 2# -*- coding: utf-8 -*- 3 4import csv 5from datetime import datetime 6from selenium import webdriver 7from selenium.webdriver.common.keys import Keys 8from selenium.webdriver.common.by import By 9from selenium.webdriver.support.ui import WebDriverWait 10from selenium.webdriver.support import expected_conditions as EC 11from selenium.webdriver.chrome.options import Options 12from selenium.common.exceptions import TimeoutException 13import cgi # CGIモジュールのインポート 14import time 15# import cgitb 16import sys 17import io 18# sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') 19# sys.stdout.reconfigure(encoding='utf-8') 20 21options = Options() 22 23options.add_argument('--headless') 24options.add_argument('--no-sandbox') 25 26driver = webdriver.Chrome(executable_path='/usr/local/bin/chromedriver',options=options) 27 28print("Content-Type: text/plain;charset=utf-8") #HTMLを出力するために必要 29print("") #HTMLを出力するために必要 30 31# kw = "python3" 32kw = "python3とは" 33 34# driver.get('https://yahoo.co.jp') 35driver.get('https://google.com') 36 37# # 入力フォームの値をクリアにする 38driver.find_element_by_name("q").clear() 39 40# # 入力フォームの要素を探す 41element = driver.find_element_by_name("q") 42 43# # 入力フォームにキーワードを入力する 44element.send_keys(kw) 45 46# # フォームを送信する 47element.send_keys(Keys.RETURN) 48 49# # titleタグに標準入力したキーワードが含まれるまで10秒待つ 50WebDriverWait(driver, 10).until( 51 EC.title_contains(kw) 52) 53 54 55print(driver.title)

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

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

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

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

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

otn

2020/06/20 13:06

> 日本語がエラーになる。 エラーなら、エラーメッセージを書きましょう。
toss

2020/06/20 14:28 編集

'utf8' codec can't decode byte 0xe3 in position 0: unexpected end of data こちらです。
guest

回答1

0

自己解決

自己解決しました。

kw = kw.decode('utf-8')

投稿2020/06/20 14:41

toss

総合スコア56

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問