def login(Self):
# login to the app
username = self.browser.find_elements_by_id ("Login1_UserName")
username.send_keys ("userone")
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 所以,实际上有两个问题 如果有可能,将函数定义为可空,以使此方法具有重载 如何传递非当前类的函数?例如