如何使用Selenium和Python安装Chrome扩展程序

3
你好,我正在尝试使用Python和Selenium安装Chrome扩展程序,我尝试使用ChromeDriver - WebDriver for Chrome,但是它没有起作用,这是我的代码:
from selenium import webdriver
from selenium.webdriver import Chrome
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import ChromeOptions
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.expected_conditions import presence_of_element_located

import re  # regular expressions, are imported from python directly
import time
import numpy as np
import pandas as pd
import functions_database

# Pandas read CSV
df_read = pd.read_csv(
    '/home/daniel/amazon-project-scrapers/ss_scraper.edited2.csv')

amazon_data = list(df_read.amz_search)

# Chrome Driver + install plugin
ChromeOptions options = new ChromeOptions();
options.addExtensions(new File("/home/daniel/amazon-project-scrapers/chromedriver_linux64/DS-Amazon-Quick-View_v2.8.9.crx"));
ChromeDriver driver = new ChromeDriver(options);

driver = webdriver.Chrome(executable_path='/home/daniel/amazon-project-scrapers/chromedriver_linux64/chromedriver')
driver.get('https://www.amazon.com/')

这是我收到的错误信息:
File "camel_scraper.py", line 23
    ChromeOptions options = new ChromeOptions();
                        ^
SyntaxError: invalid syntax

我试过用其他三种不同的方法来做这件事,实际上在 Stack Overflow 上有一个类似的问题,它的答案已经过时了。如果我再找到它,我会在这里写链接。

1
你正在使用JavaScript语法来设置ChromeOptions。你需要使用Python语法,如此网站所述。 - G. Anderson
1个回答

4

要使用Selenium客户端添加/安装DS-Amazon-Quick-View Chrome扩展程序,您可以使用以下解决方案:

  • Code Block:

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    chrome_options = Options()
    chrome_options.add_extension('/home/daniel/amazon-project-scrapers/chromedriver_linux64/DS-Amazon-Quick-View_v2.8.9.crx')
    driver = webdriver.Chrome(options=chrome_options, executable_path='/path/to/chromedriver')
    driver.get('https://www.google.co.in')
    

参考资料

您可以在以下讨论中找到相关内容:


由于某种原因,它给了我这个问题: selenium.common.exceptions.WebDriverException: Message: unknown error: cannot process extension #1 from unknown error: CRX verification failed: 3 - The Dan
@DaniAPred,这似乎是与 foo.crx 扩展文件有关的问题,因为 Selenium 无法处理它。从 Selenium 的角度来看,这个代码块是经过验证和稳健的。 - undetected Selenium
2
这段代码可以运行!我找到了错误,我会把它放在这里,因为我认为以下2个步骤非常重要,可以避免发生我遇到的错误。
  1. 在本地下载扩展程序。(你可以使用在线crx-downloader,例如https://crx-downloader.com/)(我使用了另一个下载器,这个被谷歌接受,并且扩展程序已更新)
  2. 使用 https://crx-checker.appspot.com/ 网站检查您的扩展程序版本号。(在这里您可以验证CRX是否真正更新)。
如果CRX是CRX3,则不会出现问题。
- The Dan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接