1.获取当前页面的Url
方法:current_url 实例:driver.current_url2.获取元素坐标
方法:location 解释:首先查找到你要获取元素的,然后调用location方法 实例:driver.find_element_by_xpath("xpath").location3.表单的提交
方法:submit 解释:查找到表单(from)直接调用submit即可 实例:driver.find_element_by_id("form1").submit()4.获取CSS的属性值
方法:value_of_css_property(css_name) 实例:driver.find_element_by_css_selector("input.btn").value_of_css_property("input.btn")5.获取元素的属性值
方法:get_attribute(element_name) 实例:driver.find_element_by_id("kw").get_attribute("kw")6.判断元素是否被选中
方法:is_selected() 实例:driver.find_element_by_id("form1").is_selected()7.返回元素的大小
方法:size 实例:driver.find_element_by_id("iptPassword").size 返回值:{'width': 250, 'height': 30}8.判断元素是否显示
方法:is_displayed() 实例:driver.find_element_by_id("iptPassword").is_displayed()9.判断元素是否被使用
方法:is_enabled() 实例:driver.find_element_by_id("iptPassword").is_enabled()10.获取元素的文本值
方法:text 实例:driver.find_element_by_id("iptUsername").text11.元素赋值
方法:send_keys(*values) 实例:driver.find_element_by_id("iptUsername").send_keys('admin')12.返回元素的tagName
方法:tag_name 实例:driver.find_element_by_id("iptUsername").tag_name13.删除浏览器所有的cookies
方法:delete_all_cookies() 实例:driver.delete_all_cookies()14.删除指定的cookie
方法:delete_cookie(name) 实例:deriver.delete_cookie("my_cookie_name")15.关闭浏览器
方法:close() 实例:driver.close()16.关闭浏览器并且退出驱动程序
方法:quit() 实例:driver.quit()17.返回上一页
方法:back() 实例:driver.back()18.清空输入框
方法:clear() 实例:driver.clear()19.浏览器窗口最大化
方法:maximize_window() 实例:driver.maximize_window()20.查看浏览器的名字
方法:name 实例:drvier.name21.返回当前会话中的cookies
方法:get_cookies() 实例:driver.get_cookies()22.根据cookie name 查找映射Value值
方法:driver.get_cookie(cookie_name) 实例:driver.get_cookie("NET_SessionId")23.截取当前页面
方法:save_screenshot(filename) 实例:driver.save_screenshot("D:\\Program Files\\Python27\\NM.bmp")time.sleep() 缺点:不确定页面是否是否已经加载完成,或者未加载好,需要设置的时间不确定。
缺点:隐式等待需要将页面全部加载完成,像js,css甚至广告,直到页面的左上角不会转圈圈,但往往需要爬取的信息不需要将页面全部加载下来,因此隐式等待耗费了一些时间。
selenium的等待条件:
1.EC.title_is 2.EC.title_contains 这两个条件类验证title,验证传入的参数title是否等于或在driver.title中 3.EC.presence_of_element_located((By.CSS_SELECTOR,'.ui-page > wrap')) 4.EC.presence_of_all_elements_located((By.CSS_SELECTOR,'.ui-page')) 这两个条件验证元素是否出现,传入的参数都是元组类型的locator,如(By.ID, 'kw') 一个只要一个符合条件的元素加载出来就通过; 另一个必须所有符合条件的元素都加载出来才行 5.EC.visibility_of_element_located 6.EC.invisibility_of_element_located 7.EC.visibility_of 这三个条件验证元素是否可见 前两个传入参数是元组类型的locator,第三个传入WebElement 第一个和第三个其实质是一样的 8.EC.text_to_be_present_in_element 9.EC.text_to_be_present_in_element_value 这两个判断某段文本是否出现在某元素中 一个判断元素的text,一个判断元素的value属性 10.EC.frame_to_be_available_and_switch_to_it 这个条件判断frame是否可切入, 可传入locator元组或者直接传入定位方式:id、name、index或WebElement 11.EC.alert_is_present #这个条件判断是否有alert出现 12.EC.element_to_be_clickable #这个条件判断元素是否可点击,传入locator 13.EC.element_to_be_selected 14.EC.element_located_to_be_selected 15.EC.element_selection_state_to_be 16.EC.element_located_selection_state_to_be #这四个条件判断元素是否被选中, 第一个条件传入WebElement对象,第二个传入locator元组 #第三个传入WebElement对象以及状态,相等返回True,否则返回False #第四个传入locator以及状态,相等返回True,否则返回False 17.EC.staleness_of #最后一个条件判断一个元素是否仍在页面中,传入WebElement对象,可以判断页面是否刷新