【问题标题】:selenium.common.exceptions.WebDriverException: Message: unknown error: arguments[0].click is not a function using execute_script() in Selenium Pythonselenium.common.exceptions.WebDriverException:消息:未知错误:arguments[0].click 不是在 Selenium Python 中使用 execute_script() 的函数
【发布时间】:2019-07-21 18:18:06
【问题描述】:

我查看了文档和其他论坛,但没有找到具体答案。请在下面找到代码 sn-p。

def click_hamburger_menu(self):
    _hamburger_menu_ = WebDriverWait(self.driver, 15).until(
                                EC.visibility_of_element_located((
                                By.XPATH, "//*[name()='svg' and @class='site-header__nav-trigger']")))
    self.driver.execute_script("arguments[0].click()", _hamburger_menu_)

错误信息:

selenium.common.exceptions.WebDriverException: Message: unknown error: arguments[0].click is not a function

【问题讨论】:

  • execute_script 函数显然正在寻找一个函数作为它的第一个参数。你传入的不是函数。你到底希望这个电话做什么?
  • 你确定你运行了你发布的代码吗?您发布的代码看起来不错。我的猜测是你跑了arguments[0].click(没有()s)。
  • 具有讽刺意味的是,当我删除 () 时它运行良好,仍然质疑为什么

标签: javascript python selenium selenium-webdriver webdriver


【解决方案1】:

看来你已经很接近了。您需要在click() 方法之后添加一个;

如此有效的代码行:

self.driver.execute_script("arguments[0].click()", _hamburger_menu_)

将是:

self.driver.execute_script("arguments[0].click();", _hamburger_menu_)

【讨论】:

  • ; 不是必需的。我只是在有和没有的情况下运行它,两者都有效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-16
  • 1970-01-01
  • 2021-05-22
  • 1970-01-01
  • 2020-04-16
  • 1970-01-01
相关资源
最近更新 更多