前言
最近我需要频繁查询一个网站的数据,但是我没有找到它是怎么加密的,所以只能用selenium.chrome来操作浏览器进行登录然后拿到数据,在本地我的Mac是不需要弄这些的,部署到服务器下来selenium.chrome也一直没有效果,最后查了很多资料发现下面这种可以用
前提条件 需要安装服务器 docker
拉取
sudo docker pull selenium/standalone-chrome
|
运行
sudo docker run -d -p 4444:4444 selenium/standalone-chrome
|
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
|