前言 {#前言}
最近我需要频繁查询一个网站的数据,但是我没有找到它是怎么加密的,所以只能用selenium.chrome来操作浏览器进行登录然后拿到数据,在本地我的Mac是不需要弄这些的,部署到服务器下来selenium.chrome也一直没有效果,最后查了很多资料发现下面这种可以用
前提条件 需要安装服务器 docker
拉取 {#拉取}
|-----------------------------------------------------|
| sudo docker pull selenium/standalone-chrome
|
运行 {#运行}
|--------------------------------------------------------------------|
| sudo docker run -d -p 4444:4444 selenium/standalone-chrome
|
python {#python}
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| # 设置浏览器并初始化 def setup_browser (): options = Options() options.add_experimental_option( 'excludeSwitches' , [ 'enable-automation' ]) options.add_experimental_option( 'useAutomationExtension' , False ) options.add_argument( "--disable-blink-features=AutomationControlled" ) options.add_argument( '--no-sandbox' ) options.add_argument( '--disable-dev-shm-usage' ) options.add_argument( '--headless' ) options.add_argument( '--disable-gpu' ) browser = Remote(command_executor= 'http://localhost:4444/wd/hub' , options=options) browser.execute_script( "Object.defineProperty(navigator, 'webdriver', {get: () => undefined})" ) browser.maximize_window() return browser
|