【问题标题】:Selenium 'FirefoxWebElement' object has no attribute '_driver'Selenium 'FirefoxWebElement' 对象没有属性 '_driver'
【发布时间】:2020-07-18 21:01:18
【问题描述】:

我在 Python 中使用 Selenium Webdriver (Firefox),我正在尝试按下登录按钮:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

actions = webdriver.ActionChains
driver = webdriver.Firefox()
driver.get('https://www.tiktok.com/foryou?lang=ru')

login = driver.find_element_by_class_name('jsx-3665539393')
actions.click(login)

driver.close()

它打开 Firefox,转到 Tiktok 网站,然后我得到一个错误。

Traceback (most recent call last):
  File "C:\Program Files\JetBrains\PyCharm 2020.1\plugins\python\helpers\pycharm\_jb_unittest_runner.py", line 35, in <module>
    sys.exit(main(argv=args, module=None, testRunner=unittestpy.TeamcityTestRunner, buffer=not JB_DISABLE_BUFFERING))
  File "C:\Users\Danil\AppData\Local\Programs\Python\Python38-32\lib\unittest\main.py", line 100, in __init__
    self.parseArgs(argv)
  File "C:\Users\Danil\AppData\Local\Programs\Python\Python38-32\lib\unittest\main.py", line 147, in parseArgs
    self.createTests()
  File "C:\Users\Danil\AppData\Local\Programs\Python\Python38-32\lib\unittest\main.py", line 158, in createTests
    self.test = self.testLoader.loadTestsFromNames(self.testNames,
  File "C:\Users\Danil\AppData\Local\Programs\Python\Python38-32\lib\unittest\loader.py", line 220, in loadTestsFromNames
    suites = [self.loadTestsFromName(name, module) for name in names]
  File "C:\Users\Danil\AppData\Local\Programs\Python\Python38-32\lib\unittest\loader.py", line 220, in <listcomp>
    suites = [self.loadTestsFromName(name, module) for name in names]
  File "C:\Users\Danil\AppData\Local\Programs\Python\Python38-32\lib\unittest\loader.py", line 154, in loadTestsFromName
    module = __import__(module_name)
  File "C:\Users\Danil\PycharmProjects\untitled4\work.py", line 9, in <module>
    actions.click(login)
  File "C:\Users\Danil\Desktop\MF\.venv\lib\site-packages\selenium\webdriver\common\action_chains.py", line 103, in click
    if self._driver.w3c:
AttributeError: 'FirefoxWebElement' object has no attribute '_driver'

Process finished with exit code 1

程序没有按下按钮我很好,因为我正在学习,但为什么会出现这个错误?

【问题讨论】:

    标签: python python-3.x django selenium selenium-webdriver


    【解决方案1】:

    这两行actions = webdriver.ActionChains driver = webdriver.Firefox()应该改成下面的。

    driver = webdriver.Firefox()
    actions = webdriver.ActionChains(driver)
    

    ActionChains 不是属性而是函数。

    【讨论】:

      猜你喜欢
      • 2016-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-01
      • 1970-01-01
      • 2016-11-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多