【问题标题】:'str' object is not callable when using find element by class | Python Selenium'str' 对象在按类使用查找元素时不可调用 |蟒蛇硒
【发布时间】:2021-03-25 20:43:14
【问题描述】:

当我在编写以下代码时,无法点击按钮。它显示错误“TypeError:'str' object is not callable”

代码

   shopping_btn = self.driver.find_element(By.CLASS_NAME("cta cta-hover-animate cta-fill-black-outline-black"))
   shopping_btn.click()

错误:

文件“E:\Python\setests\smoketest.py”,第 33 行,在 test_shopping_cart_empty_message shopping_btn = self.driver.find_element(By.CLASS_NAME("cta cta-hover-animate cta-fill-black-outline-black")) 类型错误:'str' 对象不可调用

【问题讨论】:

  • 好的,那么您对此有什么问题?当您尝试诊断问题时发生了什么?例如,您是否阅读错误消息?您了解错误信息吗?例如,您是否试图找出导致问题的代码行的哪一部分?例如,您是否尝试验证 self.driver 是否符合您的预期?或者该行代码中的任何其他子表达式?请阅读ericlippert.com/2014/03/05/how-to-debug-small-programs

标签: python selenium


【解决方案1】:

你需要像这样使用 find_element:

shopping_btn = self.driver.find_element(By.CLASS_NAME, "cta cta-hover-animate cta-fill-black-outline-black")
shopping_btn.click()

出现异常,由于尝试调用

By.CLASS_NAME('<your_selector>')

什么是平等的

"any_string"('<you_selector>')

【讨论】:

    【解决方案2】:

    它使用多个类名使用 css 选择器。

    shopping_btn = self.driver.find_element(By.CSS_SELECTOR, ".cta.cta-hover-animate.cta-fill-black-outline-black")
    shopping_btn.click()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-06
      • 2022-06-24
      • 1970-01-01
      • 2016-05-28
      • 2021-06-28
      • 2021-10-11
      • 1970-01-01
      • 2021-07-07
      相关资源
      最近更新 更多