我正在尝试使用python和selenium实现网站自动化。我已经定义了登录和打开硒浏览器的功能。
app = Flask(__name__)
app.logger.addHandler(logging.StreamHandler(sys.stdout))
app.logger.setLevel(logging.ERROR)
@app.route('/', methods=['GET'])
def authentication():
return jsonify(message=authenticate(username, password), success=1)
if __name__ == '__main__':
options = Options()
options.add_argument("start-maximized")
options.add_argument("--no-sandbox")
options.add_argument('--disable-gpu')
options.add_argument("disable-infobars")
options.add_argument("--disable-extensions")
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--remote-debugging-port=9222')
options.add_argument('--disable-features=VizDisplayCompositor')
options.add_argument('--disable-browser-side-navigation')
# options.add_argument("--headless")
browser = webdriver.Chrome(options=options, executable_path='chromedriver')
options.add_argument("--example-flag")
wait = WebDriverWait(browser, 10)
app.debug = True
app.run(use_reloader=False)
当我打开硒浏览器运行它时,我会得到这个
* Serving Flask app "app" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: on
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
当我去http://127.0.0.1:5000/在selenium浏览器过程中发生,我得到了正确的结果。但问题是,当在另一个选项卡中打开上面的URL时,它并没有打开新的硒浏览器,而是在已经打开的硒浏览器中进行处理,我该如何解决这个问题?
您可以为每个新用户创建chrome配置文件并保存它。如果用户是第一次登录,则创建新的chrome配置文件,如果已经登录,则使用以前的配置文件。
必须删除--remote-debugging-port
,并且不要使用user-data-dir
选项
Selenium总是在您不使用这些选项时启动一个新会话。