python - 无法使用 Python 将 Chrome 用户数据导入 Selenium
问题描述
我正在尝试在 DigitalOcean 上设置一个 VPS 来运行我的一些 Python 脚本,主要基于 Selenium。
我已经安装了所需的所有依赖项,并且能够使用 Selenium 运行一个简单的脚本,访问网站并从中获取数据。
当我尝试将我的 Chrome 用户数据导入脚本时,我的问题出现了,我在本地 Windows 机器中使用这些数据以避免登录网站并避免弹出 cookie。
这是我用来打开我的 webdriver 的代码:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import random
from pyvirtualdisplay import Display
display = Display(visible=0, size=(800, 600))
display.start()
options = Options()
options.add_argument('--no-sandbox')
options.add_argument("--disable-dev-shm-usage");
options.add_argument('--headless')
options.add_argument("--user-data-dir=/root/userCache/xxx/User Data/") #Path to my User Data
driver = webdriver.Chrome(options=options, executable_path=r'/root/chromedriver')
如前所述,webdriver 加载良好,但命令“add_argument("--user-data-dir=/PATH/")”实际上并未加载缓存和 cookie。
在我的本地 Windows 机器中,这条线运行良好,问题可能是我的服务器在 Ubuntu 上运行吗?是否有另一种方法可以将 Chrome 用户数据导入 Linux 上的 selenium?
另外,我应该补充一点,如果相关的话,我直接从我的 Windows 机器上复制了 User Data 文件夹。
解决方案
推荐阅读
- abap - SELECT 的内联数据后出错:“不包含结构...”
- c# - 在 asp.net core 3 中设置 httpcontext
- javascript - 当按下 ENTER 或按下它的按钮时,使表单运行 javascript,而不提交
- c# - 绑定 WPF C# 后,MVVM 中 DataGridListView 的 SelectedItem 为空
- flutter - 如何自定义 CupertinoTabBar
- image - 是否可以将图像用于 ipywidget 按钮
- android - 如何收听android MediaPlayer位置变化事件
- javascript - 如何查看我未创建的网站的 .js 文件
- arrays - 使用巨大的 Numpy 数组而不将其全部存储在内存中
- c++ - 为什么 fwrite / fread 不像 56.806201550387598?