首页 > 解决方案 > 我正在制作一个自动填充类型的机器人,但遇到了一些问题

问题描述

我想做一个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"]

它也可能很明显,但我对 python 和一般编码很陌生。谢谢!

标签: python

解决方案


我假设您的脚本正在将用户名输入到网站中,该网站要么被动检查可用性,要么要求您的脚本主动提交用户名以进行检查。无论哪种方式,我假设您的脚本正在管理该要求。

我假设您想要一个 while 循环来测试,直到其中一个<p>id="username_notification" 的元素来管理脚本输入用户名和检查可用性时服务器响应之间的任何延迟。

我假设该<p>元素将被插入到 DOM 中可预测的位置,并且始终具有 id="username_notification"。

所以你想要一个while True循环来抓取页面,检查一个或其他<p>元素,当它找到一个元素时,它会根据它找到的离散函数有条件地中断,例如,在“用户名已被占用”重新输入新用户名,或“可用!” 做点别的……

但我不确定你在实施它时遇到了什么问题。你试过什么?


推荐阅读