【问题标题】:Python Selenium - I can't run the while loopPython Selenium - 我无法运行 while 循环
【发布时间】:2020-01-31 09:34:08
【问题描述】:

我刚开始使用python。我想使用 Selenium 编写一个包含机器人的循环。 我想登录一个网站。我发送我的号码和密码。当服务器上有密度时,页面会刷新。正在清理号码和密码部分。 我希望它尝试使用相同的号码和密码登录,直到我登录系统。 如果我在数字部分输入文本,循环可以工作,但我需要输入一个数字。

from selenium import webdriver
import time
browser = webdriver.Chrome()
browser.get("https://www.*****.com")
time.sleep(1)

loginbutton = browser.find_element_by_name('login')
no = browser.find_element_by_name('no')
password = browser.find_element_by_name('pass')

while True:
    no.send_keys("160210051")
    password.send_keys("example")
    time.sleep(1)

    loginbutton.click()
    no.clear()
    password.clear()
    continue

python shell, error descripton

【问题讨论】:

标签: python selenium loops while-loop


【解决方案1】:

在 while 循环中添加睡眠

单击登录可能会更改页面,因此数字和密码字段不再存在。您需要在两次尝试之间让while 暂停一段时间。

【讨论】:

  • 我在 continue 行之前添加了 time.sleep(3),但我又得到了同样的错误。
  • 并且字段的名称不会改变。仍然登录,不通过。
【解决方案2】:

我发现在 while 循环中找到了元素并且它起作用了。 刷新页面后删除过去的元素。 谢谢大家。

【讨论】:

    猜你喜欢
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 2014-08-23
    • 1970-01-01
    • 2021-08-29
    • 2019-05-26
    • 2020-04-29
    相关资源
    最近更新 更多