import time from selenium import webdriver 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.maximize_window() wait = WebDriverWait(driver, 5) # 实例化等待对象 login_url = "http://120.25.127.201:18001/user/login.html" driver.get(login_url) # 在新的窗口打开url username="15574113907" password="123456" wait.until(ec.presence_of_element_located((By.XPATH, "//input[@id='txtUName']"))).send_keys(username) wait.until(ec.presence_of_element_located((By.XPATH, "//input[@id='txtPassword']"))).send_keys(password) wait.until(ec.presence_of_element_located((By.XPATH, "//input[@id='btnLogin']"))).click() # 根据username出现在首页作为等待条件,确保首页正常出现 wait.until(ec.text_to_be_present_in_element((By.LINK_TEXT,username),username)) locator = ("link text", "云上夕轮") wait.until((ec.visibility_of_element_located(locator))).click() # 显性等待发表评论按钮,并进行点击 locator = ("link text", "发表评论") wait.until((ec.visibility_of_element_located(locator))).click() # 显性等待评论输入框,并进行输入 content = f"发表评论-{str(int(time.time()))}" locator = ("id", "txtComment") wait.until((ec.visibility_of_element_located(locator))).send_keys(content) # 显性等待发表按钮,并进行点击 locator = ("css selector", ".fr>.btn_ora") wait.until((ec.visibility_of_element_located(locator))).click() # 显性等待评论提示数据 locator = ("css selector", ".layui-layer-content") ele_text = wait.until((ec.visibility_of_element_located(locator))).text assert "评价成功" in ele_text, "评论失败,提示框中的内容与预期不符"