selenium|python 3.8中的输入填充过快



所以我正在尝试登录这个名为ttrockstars的网站,我已经编写了一个登录该网站的函数。然而,代码似乎运行得太快,忽略了我添加到代码中的time.sleep(5)

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
PATH = r"C:UsersshahfDesktopchromedriver.exe"
driver = webdriver.Chrome(PATH)
driver.get("https://play.ttrockstars.com/auth/school/student")
def login(school, username, password):
driver.find_element_by_xpath("//input[1]").send_keys(school)
driver.find_element_by_xpath("//input[1]").send_keys(Keys.RETURN)
time.sleep(5)
driver.find_element_by_xpath("//input[1]").send_keys(username)
driver.find_element_by_id("mat-input-2").send_keys(password)
driver.find_element_by_id("mat-input-2").send_keys(Keys.RETURN)
login("my school", "my username", "my password")

当我运行这个程序时,它只需输入学校名称,然后删除它并输入用户名,然后出现一个错误,说密码框不存在。如果它真的提交了学校并等待了5秒钟,这不会是一个问题。为什么会发生这种情况,有没有解决办法?

以下是实现所需目标的步骤:

  1. 填写学校名称后睡2-3秒
  2. 通过类获取下拉菜单元素,通过下拉菜单元素获取option元素并单击它
  3. 睡眠2-3秒,以便加载用户名密码页面
  4. 填写用户名和密码,然后单击输入

注意:这将单击学校选项中的第一个选项

这是代码:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
PATH = r"C:UsersshahfDesktopchromedriver.exe"
driver = webdriver.Chrome(PATH)
driver.get("https://play.ttrockstars.com/auth/school/student")
def login(school, username, password):
driver.find_element_by_xpath("//input[1]").send_keys(school)
time.sleep(3)
driver.find_element_by_class_name("mat-autocomplete-panel").find_element_by_class_name("mat-option").click()
time.sleep(3)
driver.find_element_by_xpath("//input[1]").send_keys(Keys.RETURN)
time.sleep(5)
driver.find_element_by_xpath("//input[1]").send_keys(username)
driver.find_element_by_id("mat-input-2").send_keys(password)
driver.find_element_by_id("mat-input-2").send_keys(Keys.RETURN)
login("my school", "my username", "my password")

相关内容

  • 没有找到相关文章

最新更新