chromedriver.quitを使うとページを復元しますか?と聞いてくる

2,819 views
Skip to first unread message

Toshi

unread,
Jan 16, 2019, 6:23:59 AM1/16/19
to 日本Seleniumユーザーコミュニティ
PGM配布のことを考えて、個々のパスワードをChromeに保存させて、それを使うようにしています。
Chrome_Option = "--user-data-dir=C:\Program Files\SeleniumBasic\User Data"
driver.AddArgument Chrome_Option
driver.Get http://www.abc.com/
 |
中略
 |
driver.quit

このような感じでプログラムしています。ところが、再度このプログラムをCallすると、
Chromeは正しく終了しませんでした。ページを復元しますか?
というウィンドウが出てしまいます。
Preferencesのファイルの中を見ても、crashと書かれています。

driver.quitの前に、手作業で右上の×をクリックして、閉じればメッセージは出ません。

何かが不足しているようなのですが、追加しなければいけないオプションを教えて頂けないでしょうか?

お手数ですが、よろしくお願いします。

タカミテツロウ

unread,
Jan 16, 2019, 10:10:03 PM1/16/19
to Toshi, 日本Seleniumユーザーコミュニティ
的外れな回答かもしれませんが 参考までに

Sub Selenium_Chrome_Test_1()
 
  
    With driver
    
      .AddArgument "--incognito"
      .AddArgument "disable-infobars"
      .AddArgument "--user-data-dir=C:\Program Files\SeleniumBasic\User Data"
      .Start "chrome"
     
    End With
 
    driver.Get "http://www.abc.com/"
  
  
    For Each lnk In driver.FindElementsByTag("a")
         Debug.Print lnk.Text
    Next
  
    driver.Quit
  
      
End Sub


Sub Selenium_Chrome_Test_2()
 
     
    Const WM_CLOSE = &H10
 
    With driver
     '
      .AddArgument "disable-infobars"
      .AddArgument "--user-data-dir=C:\Program Files\SeleniumBasic\User Data"
      .Start "chrome"
      
    End With
    
    
    hwnd = FindWindow(vbNullString, "ページを復元しますか?")
    If hwnd <> 0 Then
       ret = SendMessageA(hwnd, WM_CLOSE, 0, 0)
    End If
    
    
    driver.Get "http://www.abc.com/"
   
    
    For Each lnk In driver.FindElementsByTag("a")
         Debug.Print lnk.Text
    Next
  
    driver.Quit
    
End Sub

2019年1月16日(水) 20:24 Toshi <m.oha...@gmail.com>:
--
このメールは Google グループのグループ「日本Seleniumユーザーコミュニティ」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには seleniumjp+...@googlegroups.com にメールを送信してください。
このグループに投稿するには selen...@googlegroups.com にメールを送信してください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

Toshi

unread,
Jan 17, 2019, 8:27:15 AM1/17/19
to 日本Seleniumユーザーコミュニティ
回答ありがとうございました。
Test1は「ページを復元しますか?」を表示しませんでした。
Test2はクローズしませんでした。
本当はdriver.quitの前に何か不足している設定をしたかったのですが、
クリックする手間が省けるならOKとします。
ありがとうございました。

2019年1月17日木曜日 12時10分03秒 UTC+9 タカミテツロウ:
Message has been deleted

taro yamamoto

unread,
Jul 7, 2019, 12:32:04 AM7/7/19
to 日本Seleniumユーザーコミュニティ
超古い話題ですが私も同じ問題にハマったのでメモ代わりに返信。
driver.close() で閉めれば手作業で右上の×をクリックしたのと同じになりますよ。
closeで閉じずにいきなりquitでプロセスを殺すとそのようになってしまいます。
(driver.quit()もやらないとchromedriverのプロセスが残り続けるので注意)

2019年1月17日木曜日 22時27分15秒 UTC+9 Toshi:
Reply all
Reply to author
Forward
0 new messages