我想做一个while循环,检查屏幕上是否打印了某些错误消息。我检查一下是否可以使用当前名称,如果不是,我做了一些事情,如果是,我做了其他事情。 我希望它说类似的内容,当屏幕上显示“用户名已被使用”时,它会做一件事,如果屏幕上没有出现该用户名,则会跳过while循环。
触发错误消息时:
<p id="username_notification" class="notification" style="">Username has already been taken</p>
还有必要时的xpath:
//*[@id="username_notification"]
也许也不需要,但是如果用户名可以使用,则显示以下消息:
<p id="username_notification" class="notification" style="">Available!
</p>
还有xpath:
//*[@id="username_notification"]
答案 0 :(得分:0)
我假设您的脚本正在网站中输入用户名,该用户名要么被动检查可用性,要么要求您的脚本主动提交用户名以进行检查。无论哪种方式,我都认为您的脚本正在满足该要求。
我假设您要进行一次while循环测试,直到<p>
元素中具有id =“ username_notification”的任一元素都可以管理在输入用户名的脚本和检查可用性后服务器响应之间的任何滞后。
我假设<p>
元素将被插入到DOM中可预测的位置,并且将始终具有id =“ username_notification”。
因此,您需要一个while True
循环来抓取页面,检查<p>
元素中的一个或另一个,当发现一个元素时,它会根据对离散函数的发现而有条件地中断,例如,在“已使用用户名”上重新输入新的用户名,或在“可用!”上做其他事情...
但是我不确定您在实施它时遇到了什么问题。你尝试了什么?