Vscode(Python + selenium)组合中的第一个自动化命令出现问题

问题描述 投票:0回答:1

即使我写了这段代码:

from selenium import webdriver

driver=webdriver.Chrome()
driver.get("https://opensource-demo.orangehrmlive.com/web/index.php/auth/login") driver.find_element("username").send_keys("Admin")
driver.find_element("password").send_keys("admin123")
driver.find_element("submit").click()

act_title = driver.title
exp_title = "OrangeHRM"

if act_title==exp_title:
print("login test Passed")
else:
print("login test Failed")

driver.close()

任何人都可以指导我/帮助我,指导我吗?或者告诉我?我正在从头开始学习 QA 自动化,并试图在自动化领域找到一份工作。

我正在学习自动化测试,我学习的第一步是来自一个视频。

现在我面临的问题是 --> 尽管教程是 Selenium 3,而我正在做 Selenium 4,所以可能会有一些差异。

当我尝试通过自动化打开链接时——它只是缓冲,而不是打开它应该打开的页面。

其次,浏览器不会自动关闭。

python selenium-webdriver browser-automation selenium4
1个回答
0
投票

您的代码存在几个问题。

如果页面加载缓慢,您可以使用 WebDriverWait 等待几秒钟,让您的用户名和密码文本框出现在页面上

此外,您的 find_element 缺少参数,查看您的页面“用户名”和“密码”是元素名称,因此您需要按名称查找这些元素。

所以类似:

from selenium import webdriver
from selenium.webdriver import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec

driver=webdriver.Chrome()
driver.get("https://opensource-demo.orangehrmlive.com/web/index.php/auth/login") 
WebDriverWait(driver, 10).until(ec.visibility_of_element_located((By.NAME, "username"))).send_keys("Admin")
WebDriverWait(driver, 10).until(ec.visibility_of_element_located((By.NAME, "password"))).send_keys("admin123")
driver.find_element("submit").click()

act_title = driver.title
exp_title = "OrangeHRM"

if act_title==exp_title:
print("login test Passed")
else:
print("login test Failed")

driver.close()
© www.soinside.com 2019 - 2024. All rights reserved.