代码之家  ›  专栏  ›  技术社区  ›  AntoineLB

蟒蛇:硒提交

  •  0
  • AntoineLB  · 技术社区  · 6 年前

    有人知道这两个关键词与硒的区别吗?

    element.submit()
    
    element.submit
    

    我有一些表格和第一个表格一起使用,还有一些表格和第二个表格一起使用。

    例如,

    self.webdriver.find_element_by_xpath('//*[@id="search"]/input').submit
    

    返回结果时

    self.webdriver.find_element_by_xpath('//*[@id="search"]/input').submit()
    

    返回另一个。

    谢谢!

    2 回复  |  直到 6 年前
        1
  •  1
  •   undetected Selenium    6 年前

    按电流 API文档 属于 selenium.webdriver.remote.webelement 方法 submit() 定义如下:

    submit()
        Submits a form.
    

    根据源代码, 提交() 寻找 ancestor-or-self 作为 form ,创建事件并发送。如果发生故障 Command.SUBMIT_ELEMENT 执行。

    源代码:

    def submit(self):
        """Submits a form."""
        if self._w3c:
            form = self.find_element(By.XPATH, "./ancestor-or-self::form")
            self._parent.execute_script(
                "var e = arguments[0].ownerDocument.createEvent('Event');"
                "e.initEvent('submit', true, true);"
                "if (arguments[0].dispatchEvent(e)) { arguments[0].submit() }", form)
        else:
            self._execute(Command.SUBMIT_ELEMENT)
    

    所以,很明显 提交() 在某些情况下,是否采用完全证明方法 submit 也可以满足你的需要。但遵循 最佳实践 提交 必须避免。

        2
  •  0
  •   nandal    6 年前

    在Python中,函数和方法是一流的对象。我们可以在末尾使用一些括号(括号)来调用它们。

    但有时我们不想调用它们,我们只想传递对可调用(函数)本身的引用,在这些情况下,我们可以简单地避免使用括号。

    因此,无论何时使用函数,我们都必须使用括号。当我们需要把这个方法作为参数传递给其他方法时,我们可以省略括号。