我有一个关于如何将element_to_be_clickable中的字符串作为变量传递的问题
我会在一个名为 InputVar 的变量中参数化字符串"input[class='loginTextEntry'][id='user']",并将其传递给 WebDriverWait 的element_to_be_clickable
例如,对于python脚本中的以下(工作正常)指令
WebDriverWait(driver, explicit_TO).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[class='loginTextEntry'][id='user']"))).send_keys(userinfo[0])
我会将其编码为:
InputVar = "input[class='loginTextEntry'][id='user']"
WebDriverWait(driver, explicit_TO).until(EC.element_to_be_clickable((By.CSS_SELECTOR,
InputVar))).send_keys(userinfo[0])
但不起作用
我尝试了其他一些尝试:
InputVar = ""input[class='loginTextEntry'][id='user']""
WebDriverWait(driver, explicit_TO).until(EC.element_to_be_clickable((By.CSS_SELECTOR,
InputVar))).send_keys(userinfo[0])
InputVar = "input[class='loginTextEntry'][id='user']"
WebDriverWait(driver, explicit_TO).until(EC.element_to_be_clickable((By.CSS_SELECTOR,
" + InputVar +" ))).send_keys(userinfo[0])
但我没有找到任何解决方案。 我该如何编码?这对我来说很重要,因为 InputVar 可以指向不同的情况,我会自动化
参数化整个字符串"input[class='loginTextEntry'][id='user']"
会很麻烦。相反,我建议编写一个function()
,它将变量myUser
作为输入参数,如下所示:
def test_me(myUser):
WebDriverWait(driver, explicit_TO).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[class='loginTextEntry'][id='" + myUser + "']"))).send_keys(userinfo[0])
已解决: 编辑文件时有些脏 因为我在外部文件中放置了带有值的变量:
InputVar=input[class='loginTextEntry'][id='user']
所以我用我的简单阅读器上传了变量 我用python代码执行了指令:
WebDriverWait(driver, explicit_TO).until(EC.element_to_be_clickable((By.CSS_SELECTOR, InputVar))).send_keys(userinfo[0])
它工作正常。