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

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

新規登録して質問してみよう
ただいま回答率
85.35%
スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Python

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

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

selenium

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

Q&A

解決済

1回答

1361閲覧

seleniumを使って検索窓のテキストを送信したい。

Kazuhiro-ch

総合スコア85

スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Python

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

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

selenium

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

0グッド

0クリップ

投稿2021/07/15 06:46

###質問内容
打ち込んだコードを送信したいです。きちんとコードは検索窓に反映されているのですが、送信されません。
search_box.submit()と.click()をしましたが、どちらもうまくいきませんでした。ご教授お願い致します。

###ゴール
最終目的としてはcsv上の企業コードを読み込み、そのコードをループで検索、企業情報を抜きたいです。またcsvに自動出力されるところまで実現したいです。

###コード
繰り返し検索→取得する必要があるのでseleniumを用いています。
まだ調べきれていないのですが、pandasでデータフレーム上のコードを読み込み→seleniumで検索→取得→pandasで出力という流れをイメージしています。

本質問は検索→取得に関する質問です。

python

1from selenium import webdriver 2from selenium.webdriver.common.keys import Keys 3import time 4#import pandas as pd 5 6#read code  7 8#df = pd.read_csv('desktop/mothers_code.csv') 9#data = df.SC 10#print(data) 11 12#launch the webdriver 13driver = webdriver.Chrome("C:/users/detec/chromedriver") 14TARGET_URL = "https://shikiho.jp/" 15driver.get(TARGET_URL) 16time.sleep(2) 17 18#access individual page and obtain info 19 20xpath = '//*[@id="header"]/div/div[1]/div/input[@type="text"]' 21search_box = driver.find_element_by_xpath(xpath) 22search_box.clear() 23search_box.send_keys("1401") 24time.sleep(1) 25search_box.submit() 26 27#for code in data: 28# xpath = "//*[@id="header"]/div/div[1]/div/input" 29# search_box = driver.find_element_by_xpath(xpath).sendKeys(code) 30# search_box.submit() 31# info = driver.find_element_by_class_name('information') 32 33#time.sleep(3) 34 35#to_csv

error

1#search_box.submit()の場合 2Message: no such element: Unable to locate element: {"method":"xpath","selector":"./ancestor-or-self::form"} 3 (Session info: chrome=91.0.4472.124)

error

1#search_box.click()の場合 2特にエラーは出ませんが、画面が遷移することはありません。

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

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

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

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

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

1T2R3M4

2021/07/15 06:50

規約に以下が表記されていますが、問題ないのでしょうか。 第 13 条(利用者のその他の禁止行為) (10) 本サービスで提供された情報を、コンピューター等を利用して自動取得する行為
Kazuhiro-ch

2021/07/15 06:55

それについてなのですが、他記事を拝見したところ規約は一方的なものであり、同意したわけではないので可能とありました。もちろん間隔は開けて行いますし、seleniumなので問題ないかなと思っているのですが…やはりだめですか?
Kazuhiro-ch

2021/07/15 07:00

少し不安ですので、株探に変えることとします。
guest

回答1

0

自己解決

サイトの変更を行います。

投稿2021/07/15 07:05

Kazuhiro-ch

総合スコア85

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問