🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
简介 ``` Selenium是一个Web自动化测试工具,最初是为网站自动化测试而开发的,可以直接运行在浏览器上 ``` 安装 ``` pip3 install selenium ``` 使用 ~~~ from selenium import webdriver dr = webdriver.Chrome() dr.get("http://www.baidu.com") dr.maximize_window() # 浏览器尺寸最大化 dr.title # 页面标题 dr.page_source # 获取源码 # cookies操作 dr.get_cookies() # 获取cookies dr.delete_cookies("cookieName") # 删除指定cookies dr.delete_all_cookies() # 删除所有cookies dr.current_url # 当前URL # 元素定位 el = dr.find_element_by_id("id") els = dr.find_elements_by_class_name()("classname") # 元素操作 el.get_attribute("key") # 获取key属性名对应的属性值 el.text # 文本 el.click() # 点击 el.submit() # 提交 el.clear() # 清空输入 el.send_keys("data") #输入数据 # 关闭 dr.close() # 关闭当前窗口 dr.quit() # 关闭所有窗口 ~~~ 窗口与框架 ~~~ dr.window_handles # 获取所有的窗口列表 dr.switch_to.window("windows_name") # 切换到某一窗口 #iframe el = dr.find_element_by_xpath("") #定位到框架 dr.switch_to.frame(el) # 进入到框架中 ~~~ 页面等待 ``` 1. 什么需要等待? 渲染内容太多,网速太忙等 2. 强制等待 time.sleep(10) 3. 显式等待 指定某个条件,设置最长等待时间,如果这个时间还没有找到元素,就会抛出异常 WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "myDynamicElement")) 4. 隐式等待 5. driver.implicitly_wait(10) ```