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 from time import sleep driver = webdriver.Chrome() driver.get("http://www.baidu.com") driver.find_element(By.ID,"kw").send_keys("selenium") driver.find_element(By.ID,"su").click() # 点击搜索结果当中的 selenium官网。 结果:打开一个新窗口。 loc = (By.XPATH,"//a[text()=\" automates browsers. That's it!\"]") wait = WebDriverWait(driver,20) wait.until(EC.visibility_of_element_located(loc)) driver.find_element(*loc).click() # 切换到新的窗口,然后在新窗口当中,点击 # 获取 sleep(1) win_hans = driver.window_handles # 列表。按照窗口出现的先后顺序添加 print("打开的窗口句柄们: ",win_hans) print("当前正在使用的窗口句柄:",driver.current_window_handle) # 切换到新窗口。进入了新的html driver.switch_to.window(win_hans[-1]) # 新的页面里,等待元素可见,查找元素,操作元素 loc = (By.XPATH,'//h3[text()="Selenium IDE"]/following-sibling::div//a') wait.until(EC.visibility_of_element_located(loc)) driver.find_element(*loc).click() sleep(10) driver.quit()写下注释
时间: 2023-12-06 15:43:20 浏览: 31
这段代码使用了 Selenium 模块来进行自动化测试,主要实现了以下功能:
1. 打开 Chrome 浏览器,并访问百度网站。
2. 在搜索框中输入关键词 "selenium",并点击搜索按钮。
3. 在搜索结果页面中找到包含关键词 "automates browsers. That's it!" 的链接,并点击该链接。
4. 切换到新打开的窗口,并等待页面加载完成。
5. 在新的页面中找到名为 "Selenium IDE" 的元素,并点击该元素。
6. 等待10秒后关闭浏览器。
具体实现细节可以参考代码注释。
相关问题
from selenium.webdriver.support.wait import WebDriverWait
这是一个 Python 中使用 Selenium 库的语句,导入了 WebDriverWait 类。WebDriverWait 类是 Selenium 中的显式等待类,用于在特定条件满足之前等待浏览器。可以通过 WebDriverWait 类设置等待的最长时间、轮询的时间间隔以及等待的条件,比如元素可见、元素可点击等。使用 WebDriverWait 类可以有效地避免因为网络延迟等原因导致的测试失败。
from selenium.webdriver.support.ui import webdriverwait
这句话的意思是从selenium.webdriver.support.ui中导入webdriverwait。webdriverwait是Selenium的一种等待方式,用于等待特定条件出现或消失,以便在进行下一步操作前等待页面被加载或元素出现。