我正在使用基于类的方法通过selenium进行自动化任务。Chrome在加载页面后自动停止。这就是为什么添加“add_experimental_option(“detach”,True)”。但我无法在以下代码中使其工作。这是我的booking.py代码。
import booking.constant as const
from selenium import webdriver
import os
options = webdriver.ChromeOptions()
options.add_experimental_option("detach", True)
driver = webdriver.Chrome(options=options)
class booking(driver):
def __init__(self, driver_path=r'C:\SeleniumDrivers'):
self.driver_path = driver_path
os.environ['PATH'] += self.driver_path
super(booking, self).__init__()
def land_first_page(self):
self.get(const.base_url)
这种方法有效,但打开网页时Chrome会自动关闭。
class booking(webdriver.Chrome):
def __init__(self, driver_path=r'C:\SeleniumDrivers'):
self.driver_path = driver_path
os.environ['PATH'] += self.driver_path
super(booking, self).__init__()
主py文件
一个二个一个一个
1条答案
按热度按时间ee7vknir1#
你的后一种方法似乎很有效
我只在向
.get(url)
方法传递不是以**https://或http://**开始的URL时收到错误。因此请检查并确保您的const.base_url
正确如果不是这种情况,据我所知,selenium正在加载您的页面,当完成时,如果没有其他代码执行,那么主程序终止,所有其他进程也终止,包括selenium会话,因此浏览器关闭
好吧,如果你想保持浏览器打开,你可以通过在调用
.land_first_page()
方法后调用input()
函数来冻结主线程,使其不会终止。