我应该怎么做才能在 Ubuntu 16.04 (Xenial Xerus) 中安装Selenium WebDriver?
我写了一个小的 Python 抓取工具(使用 Scrapy 框架)。刮板需要无头浏览...我正在使用 ChromeDriver。
当我在没有任何 GUI 的 Ubuntu 服务器上运行此代码时,我必须安装 Xvfb 才能在我的 Ubuntu 服务器上运行 ChromeDriver(我遵循了本指南)
这是我的代码:
class MySpider(scrapy.Spider):
name = 'my_spider'
def __init__(self):
# self.driver = webdriver.Chrome(ChromeDriverManager().install())
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
self.driver = webdriver.Chrome('/usr/bin/chromedriver', chrome_options=chrome_options)
Run Code Online (Sandbox Code Playgroud)
我可以从 Ubuntu shell 运行上面的代码并且它执行时没有任何错误:
ubuntu@ip-1-2-3-4:~/scrapers/my_scraper$ scrapy crawl my_spider
Run Code Online (Sandbox Code Playgroud)
现在我想设置一个 cron 作业来每天运行上述命令:
# m h dom mon dow command
PATH=/usr/local/bin:/home/ubuntu/.local/bin/
05 12 * * * cd /home/ubuntu/scrapers/my_scraper && scrapy crawl my_spider >> /tmp/scraper.log 2>&1
Run Code Online (Sandbox Code Playgroud)
但是 crontab 作业给了我以下错误:
Traceback (most recent call …Run Code Online (Sandbox Code Playgroud) “尝试 Ubuntu”和“安装 Ubuntu”选项有什么区别?
我的 Windows 10 上安装了 VirtualBox,并在桌面上下载了 Ubuntu ISO。
我已经配置了 VirtualBox 并为 Virtualbox 提供了 Ubuntu ISO。我有两个选项 - “尝试 Ubuntu”和“安装 Ubuntu”。我不确定该选择哪个。
我的要求是我想并行运行我的 Selenium 脚本,为此我需要多台机器,因此使用 VM。
如果我选择安装 Ubuntu,它会改变我笔记本电脑的文件系统吗?我打算暂时使用VM来学习跨多台机器并行执行脚本的概念。学习后我想删除 VirtualBox 并且不需要 Ubuntu。
windows virtualbox multiple-instances system-installation selenium
我正在用 python 创建一个脚本,它将打开一个程序,然后 python 将等待该程序自行关闭,然后再继续执行下一个代码。这是我的脚本:
Import subprocess as sp
sp.Popen([r'C:/Folder/folder/a.exe'])
??????
????????
print("test")
Run Code Online (Sandbox Code Playgroud)
问号是我不知道的事情。