当前位置: 首页 > 知识库问答 >
问题:

如何为python函数定义send_keys?

崔绍辉
2023-03-14
 def login(Self):
     # login to the app
     username = self.browser.find_elements_by_id ("Login1_UserName")
     username.send_keys ("userone")

共有1个答案

何涵育
2023-03-14

find_elements_*返回一个列表,您不能对列表调用send_keys()。因此需要将find_elements_*替换为find_element_*,并且可以使用以下定位器策略:

def login(Self):
    # login to the app
    self.browser.find_element_by_id("Login1_UserName").send_keys("userone")

根据最佳实践,在调用send_keys()时,您需要诱导WebDriverWait等待element_to_be_clickable(),您可以使用以下任何一种解决方案:

>

  • 使用ID:

    WebDriverWait(self.browser, 20).until(EC.element_to_be_clickable((By.ID, "Login1_UserName"))).send_keys("Tomasito")
    
    WebDriverWait(self.browser, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#Login1_UserName"))).send_keys("Tomasito")
    
    WebDriverWait(self.browser, 20).until(EC.element_to_be_clickable((By.XPATH, "//*[@id='Login1_UserName']"))).send_keys("Tomasito")
    
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    

  •  类似资料:
    • 问题内容: 有没有一种方法可以将一个函数定义为在一个类中是全局的(或者,实际上是在另一个函数中)?类似于定义全局变量。 问题答案: 将函数添加到当前名称空间,就像将添加任何其他名称一样。这意味着您可以在函数或方法中使用关键字: 同样适用于类主体或方法: 区别将在导入时执行顶级类主体时立即定义。 像您的所有用途一样,您可能想重新思考问题并找到另一种解决方法。例如,您可以 返回 如此创建的函数。 演示

    • 本文向大家介绍Python如何定义有默认参数的函数,包括了Python如何定义有默认参数的函数的使用技巧和注意事项,需要的朋友参考一下 问题 你想定义一个函数或者方法,它的一个或多个参数是可选的并且有一个默认值。 解决方案 定义一个有可选参数的函数是非常简单的,直接在函数定义中给参数指定一个默认值,并放到参数列表最后就行了。例如: 如果默认参数是一个可修改的容器比如一个列表、集合或者字典,可以使用

    • 问题内容: 我有这样的功能: 如何定义的,而不打字了他们中的每一个?当然,我宁愿传递一个参数,但是出于我的目的,这是不可能的。 问题答案: 您是否要在源文件中静态地单独定义它们?那么最好的选择是编写一个脚本来生成它们。 另一方面,如果您希望在运行时使用这些功能,则可以使用更高阶的功能。例如 您可以生成这些列表并再次在运行时进行存储。

    • 问题内容: 这是我的代码: 但显示错误: 那我该怎么办, 谢谢 问题答案: 带有字符串参数的参数仅用于表达式。如果要执行语句,请使用: 但是在执行此操作之前,请考虑是否真的需要动态代码。到目前为止,大多数事情都可以做到。

    • 我对所有方法都有一个异常处理的要求,假设我有一个项目,并且在项目内,抛出了StaleStateException,我需要处理它,我想这样做: 我如何实现这个方法?

    • 根据这个答案,我可以将函数作为参数传递 https://stackoverflow.com/a/33402863/5709159 所以,实际上有两个问题 如果有可能,将函数定义为可空,以使此方法具有重载 如何传递非当前类的函数?例如