Попытка закрыть портативный браузер с помощью selenium

#python-3.x #selenium-webdriver #browser #python-webbrowser

Вопрос:

Я пытаюсь закрыть портативный браузер с помощью selenium

Я прошел --remote-debugging-port=9222 , потому что, если я его не пройду, то программа застрянет в создании объекта webdriver.Chrome() . Он откроет портативный браузер, но не загрузит URL-адрес.

Но после того, как URL открыт, я хочу закрыть браузер, но driver.quit() он не работает для меня. Я пробовал некоторые другие методы закрытия браузера, но они также не работают.

Я хочу закрыть конкретный экземпляр браузера, который открывается этой программой, а не другими открытыми экземплярами браузера.

 from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.binary_location = 'C:/Portable/GoogleChromePortable/GoogleChromePortable.exe'
chrome_options.add_argument("--remote-debugging-port=9222")
chrome_options.add_argument("--incognito")
chrome_options.add_argument("--profile-directory=Person 1")
driver = webdriver.Chrome(options=chrome_options,executable_path='C:/Portabl/chromedriver_win32/chromedriver.exe')
url = "https://www.google.com/"
driver.get(url)
driver.quit()
 

Я использую:

 selenium 3.141.0, windows 10, python 3.8.0, portable chrome version 93.0.4577.63 (32-bit)
 

Ответ №1:

Ваше это заявление

Я передал —remote-debugging-port=9222, потому что, если я его не передам, программа застрянет в создании объекта webdriver.Хром()

это неверно. --remote-debugging-port=9222 похоже на номер порта, на котором развернуто ваше приложение, и вы использовали опцию chrome для их отправки browser object .

 driver.quit()
 

обычно это должно было сработать, в чем ошибка, когда это не сработало ?

кроме того, для закрытия одного экземпляра вы могли бы сделать

 driver.close()
 

посмотрим, поможет ли это.