如何查找有时出现在页面上的文本?一个典型的例子是错误的密码。然后会出现一条消息,说明密码输入不正确,我需要对此消息进行断言。消息出现在这个块<td colspan = "2" style = "color: Red;" align = "center"> Wrong name or password.</td>.
不幸的是,我用xpath输入的代码找不到我的文本。你知道吗
请参见:
wait = WebDriverWait (driver 10)
text_tag = wait.until (EC.presence_of_element_located ((By.XPATH, "/html/body/form/div[3]/div[2]/div[2]/table/tbody/tr[1]/td[1]/div/div/div/div/div/div/div/table/tbody/tr[1]/td/table/tbody/tr[1]/td[2]/b")))
if text_tag:
assert text_tag.text == "Incorrect name or password."
print (text_tag.text)
print ("Found - OK")
else:
exit()
您可以设置临时隐式等待而不是
WebDriverWait
,并使用find_elements
检查元素是否存在。这将在10秒内查找元素,如果元素存在,返回的列表将不会为空。你知道吗作为一个补充,不要使用绝对
xpath
/html/body/...
,它使脆弱的定位器。你知道吗好的,谢谢你的帮助。这是最终的脚本,它是函数。有必要将XPATH更改为CSS选择器:
请尝试以下代码:
相关问题 更多 >
编程相关推荐