各大浏览器驱动下载地址:
Firefox: https://github.com/mozilla/geckodriver/releases/ Chrome: https://sites.google.com/a/chromium.org/chromedriver/ IE: http://selenium-release.storage.googleapis.com/index.htmlphantomjs可以通过百度下载:http://npm.taobao.org/mirrors/phantomjs
将插件安装在anaconda/scripts文件下面
下载地址:http://npm.taobao.org/mirrors/chromedriver/ 确定版本号 解压到python安装目录里,或者anaconda安装目录scripts文件夹里。
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")导包
from selenium import webdriver创建driver对象
driver=webdriver.Phantomjs()等待(等待有三种方法)
强制等待
time.sleep(5)隐式等待(就是等待页面全部加载完成,例如css图片js等)
driver.implicitly_wait(10)显示等待
from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By #-------------------------------------步骤: #1.创建等待对象 wait = WebDriverWait( driver,#浏览器驱动对象 10,最大等待时长 0.5,扫描间隔 ) #2.wait.until(等待条件)--->等待条件成立程序才继续运行。 #等待条件在selenium中有个专门的模块来设置了一些条件--expected_conditions as EC #最常用的条件有一下两个:这两个条件验证元素是否出现,传入的参数都是元组类型的locator,如(By.ID, 'kw') EC.presence_of_element_located#一个只要一个符合条件的元素加载出来就通过; EC.presence_of_all_elements_located# 另一个必须所有符合条件的元素都加载出来才行 EC.presence_of_element_located(locator对象也就是定位器) licator对象是一个元组(通过什么来查找,--By.ID,By.XPATH,By.CSS_SELECTOR‘查找的内容的语法’) #3.wait.until方法的返回值是一个对应定位器所定位到的webelement对象。你如果需要对这个webelment对象做一些点击或者其他操作,可以很方便的做到。 #4获取页面内容 html = driver.page_source #5.用lxml模块解析页面内容 tree = etree.HTML(html)获取页面内容
html=driver.page_source用lxml模块解析页面内容
tree=etree.HTML(html)