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

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

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

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

Q&A

1回答

2055閲覧

seleniumで遷移できない時は終了したい

kkksk

総合スコア7

Python

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

0グッド

0クリップ

投稿2020/09/07 04:29

編集2020/09/07 15:32

chromeでselenium(python)を使っているのですが、chromeのトップページから遷移できずにずっと待機していることがあります。(タスクスゲシューラで起動しています。)
遷移できない時はchromeを閉じさせたいのですが、どうすれば良いでしょうか?

import time
from selenium.webdriver.chrome.options import Options
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.select import Select
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.alert import Alert
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions
from pathlib import Path

options = Options()
options.add_argument('--disable-gpu');
options.add_argument('--disable-extensions');
options.add_argument('--proxy-server="direct://"');
options.add_argument('--proxy-bypass-list=*');
options.add_argument('--start-maximized');
options = webdriver.ChromeOptions()
options.add_argument('--user-data-dir=C:\Users\abcde\AppData\Local\Google\Chrome\User Data')
options.add_argument('--profile-directory=Profile 7')

driver = webdriver.Chrome(options=options)
driver.maximize_window()
driver.get("https://www.abcdefg.co.jp")
time.sleep(25)
actions = ActionChains(driver)
time.sleep(25)
driver.find_element_by_name('ACT_login').click()
time.sleep(25)
driver.find_element_by_xpath("//[@id='nation09P']/ul/li[5]/a/img").click();
time.sleep(25)
driver.find_element_by_xpath("//
[@id='MAIN01-INNER-R']/div[8]/div/div/div/div/div/div/div[0]/div[9]/a").click();
driver.switch_to_frame(driver.find_element_by_tag_name("iframe"))
time.sleep(25)
iframe = driver.find_element_by_xpath("//[@id='root']/div/div/div[4]/div[0]/div[1]/div").click();
time.sleep(15)
driver.switch_to.default_content()
time.sleep(5)
driver.find_element_by_xpath("//
[@id='logoutM']/a/img").click();
driver.close()
driver.quit()

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

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

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

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

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

guest

回答1

0

遷移できずにずっと待機している

の部分が具体的にプログラムとしてどういうことなのか?
遷移というのはgetclickの事だと思いますが、それらはすぐ終わるはずなので、その後に何らかの要素を待っているのでは?
そこでタイムアウトするようにして、タイムアウト後に終了すれば良いです。

投稿2020/09/07 04:35

編集2020/09/07 04:36
otn

総合スコア84645

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

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

kkksk

2020/09/07 05:04

ご回答ありがとうございます。たまにgetできずにずっとGoogleのトップページを開いたまま待機になっちゃいます。 60秒待ってもYahooに遷移できなければ、閉じて終了したいなと思ってます。他サイト参考に書いてみたのですが、実行できませんでした。 どこがダメでしょうか? driver.set_page_load_timeout(60)  try: driver.get("https://yahoo.co.jp/") except: driver.close() driver.quit()
otn

2020/09/07 05:23

driver.get("https://yahoo.co.jp/") しても、ブラウザのアドレスバーがyahooにならず元のままと言うことですか? それは実はdriver.getが実行されてないのでは? > set_page_load_timeout は、ページのロードなので、遷移とは関係ないでしょう。
kkksk

2020/09/07 06:17

はい。ブラウザが元のままです。 原因はよくわかりませんが、とりあえずgetができなかった時は終了したいです。 どこを直せばいいのでしょうか? try: driver.get("https://yahoo.co.jp/") except: driver.close() driver.quit()
otn

2020/09/07 06:19

プログラム全体(そのまま実行できる物)を質問文に追記してください。
kkksk

2020/09/07 15:29 編集

全体を質問文に追記させていただきます。
otn

2020/09/07 15:05

> 質問文に追記してください。 と書いたのですが。。。。。 インデントがないと読めません。コメントのコードは消して、質問文に書いてください。
kkksk

2020/09/07 15:33

すみません。質問文に追記いたしました。
otn

2020/09/07 16:15

インデントが無いと読めません。 ```Python と ``` の行で囲んで、インデントを付けてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問