1. Selenium
1.1 什么是selenium?
Selenium是一个用于Web应用程序测试的工具。
Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。
支持通过各种driver(FirfoxDriver,IternetExplorerDriver,OperaDriver,ChromeDriver)驱动 真实浏览器完成测试。
selenium也是支持无界面浏览器操作的。
1.2 为什么使用Selenium?
模拟浏览器功能,自动执行网页中的js代码,实现动态加载。
1.3 使用步骤
- 导包: form selenium import webdriver
- 创建谷歌浏览器操作对象:
- path = 浏览器驱动文件路径
- browser = webdriver.Chrome(path)
- 访问网址
- url = “所要访问的网址”
- browser.get(url)
1 | from selenium import webdriver |
1.3.1 元素定位
元素定位:自动化要做的就是模拟鼠标和键盘来操作来操作这些元素,点击、输入等等。操作这些元素前首先
要找到它们,WebDriver提供很多定位元素的方法。
方法:
1. find_element(By.ID,'标签id')
1. find_element(By.CLASS_NAME,'标签类名')
1. find_element(By.TAG_NAME,'标签名')
1. find_element(By.CSS_SELECTOR,'根据选择器进行定位')
1. find_element(By.XPATH,'根据XPATH进行定位')
1.3.2 访问元素信息
- 获取元素属性: .get_attribute(‘class’)
- 获取元素文本:.text
- 获取标签名:.tag_name
1.3.3 交互
点击:click()
输入:send_keys()
-后退操作:browser.back()
前进操作:browser.forword()
模拟JS滚动:
js=’document.documentElement.scrollTop=100000’
browser.execute_script(js) 执行js代码
获取网页代码:page_source
退出:browser.quit()
2.Phantomjs (已废弃)
2.1 什么是Phantomjs?
- 是一个无界面的浏览器
- 支持页面元素查找,js的执行等
- 由于不进行css和gui渲染,运行效率要比真实的浏览器要快很多
2.2 如何使用Phantomjs?
- 获取PhantomJS.exe文件路径path
- browser = webdriver.PhantomJS(path)
- browser.get(url)
扩展:保存屏幕快照:browser.save_screenshot(‘图片.png’)
3. Chrome handless
Chrome-headless 模式,是Google 针对 Chrome 浏览器 59版 新增加的一种模式,可以让你不打开UI界面的情况下使用 Chrome 浏览器,所以运行效果与 Chrome 保持完美一致。
3.1 配置
1 | from selenium import webdriver |
3.2 配置封装
1 | from selenium import webdriver |