判断元素是否存在页面的两种不同写法
直接上代码
#coding:utf-8 from selenium import webdriver from selenium.common.exceptions import TimeoutException from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import time driver = webdriver.Chrome() driver.get("http://www.baidu.com") def find_element(locator,timeout=10): '''定位方法封装成函数''' #lambda判断元素是否存在 # element = WebDriverWait(driver, timeout,1).until(lambda x : x.find_element(*locator)) #presence_of_element_located判断元素是否存在 try: element = WebDriverWait(driver, timeout,1).until(EC.presence_of_element_located(locator)) except TimeoutException: print("元素没有定位到%s" % str(locator)) else: return element try: input_loc = ("id","kw1") button_loc = ("id","su") find_element(input_loc).send_keys("yoyo") find_element(button_loc).click() time.sleep(3) finally: driver.quit()
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步