代码如下:
# “入住人姓名”文本区域
tenant_name_element = (By.XPATH, tenant_name_xpath)
def tenant_name(self, tenant_name_value):
# find_element是二次封装的,增加了等待时间,超时抛异常
tenant_name_text = self.find_element(*self.tenant_name_element) # 户型描述输入
print("入住人姓名:",tenant_name_value)
tenant_name_text.send_keys(tenant_name_value)
if __name__ == '__main__':
tenant_name_value = ReadExcel("new_order.xlsx", "Sheet1").read_excel(1, 0)
YunLock_new_order.tenant_name(tenant_name_value)
日志如下:
入住人姓名: test_tenant_name
Traceback (most recent call last):
File "F:/YunLock/Public/po/YunLock_new_order_page.py", line 158, in <module>
YunLock_new_order.tenant_name(tenant_name_value)
File "F:/YunLock/Public/po/YunLock_new_order_page.py", line 126, in tenant_name
tenant_name_text.send_keys(tenant_name_value)
File "C:\python3.7\lib\site-packages\appium\webdriver\webelement.py", line 221, in send_keys
{'text': ''.join(keys), 'value': keys})
File "C:\python3.7\lib\site-packages\selenium\webdriver\remote\webelement.py", line 633, in _execute
return self._parent.execute(command, params)
File "C:\python3.7\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\python3.7\lib\site-packages\appium\webdriver\errorhandler.py", line 29, in check_response
raise wde
File "C:\python3.7\lib\site-packages\appium\webdriver\errorhandler.py", line 24, in check_response
super(MobileErrorHandler, self).check_response(response)
File "C:\python3.7\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidElementStateException: Message: Cannot set the element to 'test_tenant_name'. Did you interact with the correct element?