前言

最近我需要频繁查询一个网站的数据,但是我没有找到它是怎么加密的,所以只能用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