Я получаю `needquote = (" "в аргументе) или (" \ t "в аргументе) или нет аргумент TypeError: аргумент типа 'NoneType' не повторяется` с селеном scrapy - PullRequest
0 голосов
/ 02 мая 2020

Я использую scrapy с селеном, код:

    import scrapy
from scrapy.selector import Selector
from  selenium import webdriver 
from selenium.webdriver.chrome.options import Options
from shutil import which


class GoldendataSpider(scrapy.Spider):
    name = 'goldendata'
    allowed_domains = ['www.golden.com']
    #start_urls = ['https://golden.com/wiki/Cluster%3A_COVID-19-ZXJX9AR/']

    def __init__(self):

        chrome_options= Options()
        chrome_options.add_argument("--headless")


        chrome_path=which('chromedriver')

        driver = webdriver.Chrome(executable_path=chrome_path, options=chrome_options)
        driver.get("https://golden.com/wiki/Cluster%3A_COVID-19-ZXJX9AR/")



        self.html = driver.page_source

        driver.close()

Но я получаю следующую ошибку:

Unhandled error in Deferred:
2020-05-02 10:11:35 [twisted] CRITICAL: Unhandled error in Deferred:
2020-05-02 10:19:16 [twisted] CRITICAL: 
Traceback (most recent call last):
 File "F:\Git Contribution\Fightpandemic\Scrpers\golden\golden\spiders\goldendata.py", line 22, in 
 __init__
driver = webdriver.Chrome(executable_path=chrome_path, chrome_options=chrome_options)
needquote = (" " in arg) or ("\t" in arg) or not arg
TypeError: argument of type 'NoneType' is not iterable

Я попытался установить pywin32 и обновить py и selenium но это ничего не делает .. так, как я мог решить эту ошибку, я попробовал большинство вещей, которые я знаю, и я также искал проблемы с github и переполнением стека, но ничего не нашел. Заранее спасибо

1 Ответ

0 голосов
/ 02 мая 2020

Вы используете which('chromedriver'), чтобы получить путь для chromedriver, но кажется, что which возвращает None, потому что chromedriver не находится в PATH.

Вы можете использовать относительный путь для chrome_path в вашем скрипт. Или добавьте chromedriver.exe в PATH.

...