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

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

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

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python 3.x

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

Python

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

selenium

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

Q&A

解決済

1回答

731閲覧

seleniumでドロップダウンメニューの値を選択させたい

aae_11

総合スコア178

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python 3.x

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

Python

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

selenium

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

1グッド

1クリップ

投稿2020/03/24 06:14

編集2020/03/24 06:49

seleniumでアクセスをしたURLから、ドロップダウンメニューに指定した値を選択させたいのですが、うまくいきません。

python

1# coding: UTF-8 2from django.core.management.base import BaseCommand 3import requests, requests_cache 4from random import randint 5import re, os, math, datetime, codecs 6from pprint import pprint 7from bs4 import BeautifulSoup 8from time import sleep 9from urllib.parse import urljoin 10import re 11from ...models import Company 12from selenium import webdriver 13from selenium.webdriver.support.ui import Select 14 15 16# BaseCommandを継承して作成 17class Command(BaseCommand): 18 19 # コマンドが実行された際に呼ばれるメソッド 20 def handle(self, *args, **options): 21 page_count = 1 22 23 page = '?page=' 24 BASE_URL = 'https://job.mynavi.jp/' 25 genre = 'IT・通信・インターネット' 26 SEARCH_BASE_URL = BASE_URL + '/21/pc/toppage/displayTopPage/index' 27 28 29 # exit() 30 driver = webdriver.Chrome() 31 driver.get(SEARCH_BASE_URL) 32 select_button = driver.find_element_by_id("OC") 33 select_elem = Select(select_button) 34 select_elem.select_by_value('OC:293,294,340,350,360,370,380,390,400,410') 35 36

こちら実行した結果ですが、ブラウザが立ち上がり、該当のページが表示されるのですが、すぐにブラウザが閉じてしまいます。
こちらの問題の解決の為、ご助言頂けましたら幸いです。

newyee👍を押しています

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

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

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

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

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

otn

2020/03/24 06:18

コードは(問題が発生する最小限の範囲で)全体を載せてください。
aae_11

2020/03/24 06:44

コードの方、修正しました。
guest

回答1

0

ベストアンサー

以下の様にコードをまとめてみました。
こちらでセレクトボックスの動作を確認しましたが、
特に問題ありませんでしたので、一旦こちらのコードにてご確認下さい。

Python3

1# coding: UTF-8 2from selenium import webdriver 3from selenium.webdriver.support.ui import Select 4import time 5 6try: 7 driver = webdriver.Chrome() 8 driver.get("https://job.mynavi.jp//21/pc/toppage/displayTopPage/index") 9 time.sleep(3) 10 select_button = driver.find_element_by_id("OC") 11 time.sleep(3) 12 select_elem = Select(select_button) 13 select_elem.select_by_value('OC:293,294,340,350,360,370,380,390,400,410') 14 time.sleep(7) 15except Exception as e: 16 print(e) 17

個人的にはご使用のGoogleChromeのバージョンと
ChromeDriverの対応バージョンが合わない等の問題である気がします。。
( webdriver.Chrome()と書いた場合、動作するpythonファイルと同じディレクトリのchromeriver.exe)
エラーが発生した場合、エラーメッセージの共有をお願いします。

投稿2020/03/24 07:15

編集2020/03/24 09:15
reraNine

総合スコア124

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

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

aae_11

2020/03/24 07:41

ご回答ありがとうございます。 ご提示頂きましたコードで試してみたのですが、ブラウザが立ち上がり、マイナビページが表示されるものの、すぐにブラウザが閉じてしまう現象が起きてしまいます。 エラーメッセージなどは表示されていない状況です。 >ChromeDriverの対応バージョンが合わない等の問題である気がします こちらなのですが、解決策としましては、どのような方法を取ればよいと思われますでしょうか...?
reraNine

2020/03/24 09:07

起動し、ページ自体は表示されるのですか、、 でしたらdriverのバージョンは関係無い気はしますが 念の為方法を以下に記載させていただきます。 楽で確実な方法は自身のバージョンを確認し、 そのバージョンに対応するdriverをダウンロードして ディレクトリに再配置する事です。 1.Chromeのバージョン確認 https://mhtdesign.net/guide/version-confirmation.html 2.ChromeDriver配置サイト https://chromedriver.chromium.org/downloads
reraNine

2020/03/24 09:13

念の為お伺いさせていただきたいのですが、 VisualStudioCodeやMicroSoftPowerShell等のコンソールで C: pythonディレクトリ>python 回答のコード.py と 実行して結果が何も出ない認識にてよろしいでしょうか。 tryで囲んでいるので、何かしら出てくるとは思うのですが、、 あ、もしかしたら処理が短すぎて出来ているけど 早すぎて終わってしまうパターンかもしれません。 回答文に待ち秒を設定したプログラムに更新しますので、 そちらで再度実行してみて下さい。
aae_11

2020/03/24 11:15

追記ありがとうございます。 ChromeDriverなのですが、ファイルを実行するディレクトリへ保存しておけば良いでしょうか...? コードの実行なのですが、VisualStudioCodeのターミナルにて、「python3 manage.py mynavi_crawler」として実行しております。こちらは「Django」のコマンドを登録し、実行する方法でございます。
aae_11

2020/03/24 11:17

ただ今、試してみましたら、ブラウザが表示され、セレクトボックスの「IT系」が選択された後、数秒立った後、ブラウザが閉じられました。恐らく、ご指摘の通り、処理が終わったと同時にブラウザが閉じられていたのかもしれません。
aae_11

2020/03/24 11:17 編集

問題が解決できて、助かりました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問