在做登录的用例的时候,通过
driver.find_element_by_css_selector("span").text
可以定位获取到“请输入用户名”“请输入密码”,但却无法获取“用户名或密码错误”,请各位大神指教
网页代码如下:
输入效果图如下
代码如下
'''登录''' def login(desc,username,userpsw): #定位用户名、密码、登录按键 name = driver.find_element_by_css_selector("input[type='text']") password = driver.find_element_by_css_selector("input[type='password']") submit = driver.find_element_by_css_selector("input[type='button']") #清空上一次的输入 name.clear() password.clear() #输入用户名密码,点击登录 name.send_keys(username) password.send_keys(userpsw) submit.click() #密码为空情况验证 emptylogin(desc,username,userpsw) '''存在错误输入的情况''' def emptylogin(desc,username,userpsw): text = driver.find_element_by_css_selector("span").text if(username==""): #用户名为空,提示用户名不能为空 print("text=", text) assertreminder(desc,text, "请输入用户名!") if(username!="" and userpsw=="" ): #用户名不为空,密码为空,提示密码不能为空 print("text=", text) assertreminder(desc,text,"请输入密码!") if(username!="" and userpsw!=""): for k, v in correctaccount.items(): if ((username != k) or (userpsw != v)): print("text=",text) assertreminder(desc, text, "用户名或密码错误!") '''判断登录提示文字是否正确''' def assertreminder(desc,now,should): if(now!=should): print(desc,"提示不正确") else: print(desc,"提示正确")
运行结果如下
"用户名或密码错误"没加载出来吧
你先把用户名和密码填上,然后点击登录,然后sleep一下,等浏览器反应过来,然后获取元素.
不一样的么 都是提示 没道理啊
我也很醉,代码和运行结果我都补充上去了
兄台,我b/s端的,这代码不太懂,不过开发思路应该都一样,你可以设个断点调试一下,看看k,v,得到了没,还有.net的for循环跟if语句如果没有{}的话,只读紧挨着他的吓一条语句,而不是多条,如果想多条就用{}扩住,不知道python是什么样的,如果一样,if(username!="" and userpsw!=""):
for k, v in correctaccount.items():
if ((username != k) or (userpsw != v)):
print("text=",text)
assertreminder(desc, text, "用户名或密码错误!")这就应该有问题,互相学习的小白留言!