AttributeError: модуль 'selenium.webdriver' не имеет атрибута 'webdriver' - PullRequest
1 голос
/ 27 января 2020

Я правильно установил селен, а также хромовый веб-драйвер для селена, и я получаю следующую ошибку

    Traceback (most recent call last):
  File "C:/Users/Turtle/PycharmProjects/SpotifyWebscraper/seleniumTest.py", line 3, in <module>
    driver = webdriver.chrome()
TypeError: 'module' object is not callable

вот мой код:

from selenium import webdriver

driver = webdriver.chrome()
driver.get("htts://www.google.com")

print(driver.title)
print(driver.current_url)

driver.quit

У меня есть проверено в папках правильно, и файлы, кажется, находятся в правильных положениях:

C:\Users\Turtle\AppData\Local\Programs\Python\Python38\Lib\site-packages\selenium-4.0.0a3-py3.8.egg\selenium\webdriver\chromium

содержит webdriver.py

Ответы [ 2 ]

3 голосов
/ 27 января 2020

Если вы посмотрите, как Selenium импортирует различные ароматы от webdriver до selenium.webdriver, вы увидите, что вы хотите импортировать Chrome

from .firefox.webdriver import WebDriver as Firefox  # noqa
from .chrome.webdriver import WebDriver as Chrome  # noqa

вы бы сделали driver = webdriver.Chrome() или если хотите Firefox, webdriver.Firefox()

Делая webdriver.chrome(), вы импортируете и вызываете фактический chrome модуль

С точки зрения вашей новой ошибки вам необходимо скачать исполняемый файл chromedriver и убедиться, что он находится в папке, доступной для python (входит в ваш PATH). Вы можете скачать chromedriver здесь; https://sites.google.com/a/chromium.org/chromedriver/downloads

1 голос
/ 27 января 2020

Ошибка в вашем заголовке отличается от ошибки в вашем сообщении.

TypeError: 'module' object is not callable

chrome следует использовать с заглавной буквы в webdriver.chrome():

driver = webdriver.Chrome() # .Chrome(), not .chrome()
...