Web自动化测试4 常用的操作方法元素的常用操作方法方法说明send_keys(*value)输入操作方法该方法中的参数表示输入的内容clear()清空操作方法submit()提交表单操作方法click()单击操作方法get(url)获取操作方法该方法中的参数URL表示web页面的资源路径get_screenshout_as_file(filename)截图操作方法该方法中的参数file name是页面截图后保存的绝对路径浏览器的常用操作方法方法说明maximize_window()设置浏览器窗口为最大化minimize_window()设置浏览器窗口为最小化close()关闭浏览器窗口quit()关闭浏览器所有窗口并退出浏览器驱动元素等待的三种方法为了避免自动化测试过程中出现页面元素未加载出来而报错的问题需要自动化测试脚本中设置元素等待时间强制等待强制等待主要通过调用time.sleep(seconds)函数让程序休眠一段时间时间到达后程序再继续运行。time.sleep(seconds)函数中传递的参数seconds表示等待的时间该时间的单位默认为秒隐式等待隐式等待是指定位页面元素时如果能定位到元素则测试程序直接返回该元素不触发等待如果定位不到该元素则需要等待一段时间后再进行定位。如果超过程序设置的最长等待时间还没有定位到指定元素则程序会抛出元素不存在的异常。在程序中设置隐式等待时间需要调用implicitly_wait(timeout)方法该方法中的参数timeout表示影视等待的最长等待时间单位为秒隐式等待语句在driver对象的生命周期内都是有效的只需要写明一次即可from selenium import webdriver from selenium.webdriver.edge.service import Service from selenium.webdriver.common.by import By import time driver webdriver.Edge() driver.get(https://hmshop-test.itheima.net/) driver.implicitly_wait(10) driver.find_element(By.ID,q).send_keys(测试)显式等待显示等待模式主要会将页面某个元素作为判断条件它实际需要用到WebDriverWait类该类有三个参数如WebDriverWait(driver,10,1)表示最长等待时间为10秒每隔一秒检测一次元素直至元素被定位。在实际应用中该类需要结合expected_coditions模块常用的expexted_conditions方法如下。title_is判断当前页面的title是否等于某个值。presence_of_element_located判断某个locator元素是否被加到DOM树里可应用于可见或隐藏元素。element_selection_state_to_be检查元素是否被选中。visibility_of检擦元素是否能够被看到。visibility_of_element_located判断某个元素是否可见。element_to_be_clickable判断某个元素是否可点击。element_to_be_selected判断元素是否被选中一般用在下拉列表中。element_located_to_be_selected根据定位语句判断元素是否被选中。from selenium.webdriver.edge.service import Service from selenium.webdriver.common.by import By from webdriver_manager.edge import EdgeDriverManager from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as ex path Service(D:\\软件\\edgedriver_win64\\msedgedriver.exe) driver webdriver.Edge(servicepath) driver.get() locate (By.ID,) WebDriverWait(driver,10,1).until(ex.visibility_of_element_located(locate))