#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()
посмотрим, поможет ли это.