我正在尝试将数据发送到登录文本框,但是当我使用“send_keys”时出现错误..
def wait_for_element(selenium, selenium_locator, search_pattern, wait_seconds=10):
elem = None
wait = WebDriverWait(selenium, wait_seconds)
try:
if (selenium_locator.upper() == 'ID'):
elem = wait.until(
EC.visibility_of_element_located((By.ID, search_pattern))
)
except TimeoutException:
pass
return elem
userid=os.environ.get('userid')
wait_for_element(selenium, "ID", 'username')
assert elem is not None
elem.click()
time.sleep(3)
elem.send_keys(userid)
tests\util.py:123: 在 HTML5_login elem.send_keys(userid) ..\selenium\webdriver\remote\webelement.py:478: 在 send_keys {'text': "".join(keys_to_typing(value)),
值 =(无,)
def keys_to_typing(value): """Processes the values that will be typed in the element.""" typing = [] for val in value: if isinstance(val, Keys): typing.append(val) elif isinstance(val, int): val = str(val) for i in range(len(val)): typing.append(val[i]) else: for i in range(len(val)):
for i in range(len(val)):
E TypeError: 'NoneType' 类型的对象没有 len()
我不知道为什么当我让它传递一个断言并单击该元素时它说该元素是“NoneType”。当我运行测试时,我什至可以看到它单击元素!