AttributeError:在通过Python使用Selenium GeckoDriver和Firefox执行测试时,模块“ datetime”没有属性“ today”错误

时间:2019-06-01 11:54:28

标签: python-3.x selenium firefox selenium-webdriver geckodriver

使用Selenium Webdriver的代码在设置后向我显示错误。

我尝试设置其他方式:对于Google Web驱动程序,对于Firefox。
我尝试过并没有显示驱动程序的路径(可以在Stack Overflow上找到的Chrome驱动程序和gecko驱动程序)
我试图在文件路径之前显示带有和不带有raw的路径
我试图在Internet上找到类似的问题,但没有找到。

这是代码:

from selenium import webdriver as wd

driver = wd.Firefox(executable_path=r'C:\Users\User\Downloads\geckodriver-v0.24.0-win64')
driver.get('https://youtube.com')

我期待着火狐浏览器发布的代码,然后在YouTube上向我展示:

   (most recent call last):
  File "C:/Users/User/.PyCharmCE2018.3/config/scratches/tringseln.py", line 1, in <module>
    from selenium import webdriver as wd
  File "C:\Users\User\PycharmProjects\instasubs and generators\venv\lib\site-packages\selenium\webdriver\__init__.py", line 18, in <module>
    from .firefox.webdriver import WebDriver as Firefox  # noqa
  File "C:\Users\User\PycharmProjects\instasubs and generators\venv\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 29, in <module>
    from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver
  File "C:\Users\User\PycharmProjects\instasubs and generators\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 27, in <module>
    from .remote_connection import RemoteConnection
  File "C:\Users\User\PycharmProjects\instasubs and generators\venv\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 24, in <module>
    import urllib3
  File "C:\Users\User\PycharmProjects\instasubs and generators\venv\lib\site-packages\urllib3\__init__.py", line 7, in <module>
    from .connectionpool import (
  File "C:\Users\User\PycharmProjects\instasubs and generators\venv\lib\site-packages\urllib3\connectionpool.py", line 11, in <module>
    from .exceptions import (
  File "C:\Users\User\PycharmProjects\instasubs and generators\venv\lib\site-packages\urllib3\exceptions.py", line 2, in <module>
    from .packages.six.moves.http_client import (
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 668, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 638, in _load_backward_compatible
  File "C:\Users\User\PycharmProjects\instasubs and generators\venv\lib\site-packages\urllib3\packages\six.py", line 203, in load_module
    mod = mod._resolve()
  File "C:\Users\User\PycharmProjects\instasubs and generators\venv\lib\site-packages\urllib3\packages\six.py", line 115, in _resolve
    return _import_module(self.mod)
  File "C:\Users\User\PycharmProjects\instasubs and generators\venv\lib\site-packages\urllib3\packages\six.py", line 82, in _import_module
    __import__(name)
  File "C:\Users\User\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 71, in <module>
    import email.parser
  File "C:\Users\User\AppData\Local\Programs\Python\Python37-32\lib\email\parser.py", line 12, in <module>
    from email.feedparser import FeedParser, BytesFeedParser
  File "C:\Users\User\AppData\Local\Programs\Python\Python37-32\lib\email\feedparser.py", line 27, in <module>
    from email._policybase import compat32
  File "C:\Users\User\AppData\Local\Programs\Python\Python37-32\lib\email\_policybase.py", line 9, in <module>
    from email.utils import _has_surrogates
  File "C:\Users\User\AppData\Local\Programs\Python\Python37-32\lib\email\utils.py", line 30, in <module>
    import datetime
  File "C:\Users\User\.PyCharmCE2018.3\config\scratches\datetime.py", line 2, in <module>
    tday = datetime.datetime.today()
AttributeError: module 'datetime' has no attribute 'today'

如果有人帮助我,那真的很棒。感谢您的宝贵时间。

4 个答案:

答案 0 :(得分:0)

此错误来自脚本中的代码行。

tday = datetime.datetime.today()  # <===== there is no today method `today` for datetime

在引用AttributeError: module 'datetime' has no attribute 'today'中查看此错误消息

答案 1 :(得分:0)

您的代码接近完美。在传递参数 ag "dist$" 而不是目录名称时,您需要传递 WebDriver的绝对路径 可执行文件,即 geckodriver.exe

从本质上讲,与在 Windows操作系统上一样,您需要在末尾添加可执行文件名称(以及扩展名) geckodriver.exe 。因此,您的有效代码块将是:

executable_path

答案 2 :(得分:0)

问题可能来自我的Pycharm。我通过使用带有库(已安装curse)的Python原始控制台解决了该问题。因此,如果您遇到相同的问题,建议您使用其他控制台或解释器。 这个问题本身并不能解决,但是很好。

答案 3 :(得分:0)

我猜只需导入整个 datetime 模块: from datetime import datetime