(一)Selenium基础
入门教程:Selenium官网教程
1.Selenium简介
Selenium是一个用于测试网站的自动化测试工具,支持各种浏览器包括Chrome、Firefox、Safari等主流界面浏览器,同时也支持phantomJS无界面浏览器。
2.支持多种操作系统
如Windows、Linux、IOS、Android等。
3.安装Selenium
pip install Selenium4.安装浏览器驱动
Selenium3.x调用浏览器必须有一个webdriver驱动文件
Chrome驱动文件下载:点击下载chromedrive
Firefox驱动文件下载:点击下载geckodriver
5.配置环境变量
设置浏览器的地址非常简单。 我们可以手动创建一个存放浏览器驱动的目录,如: F:\GeckoDriver , 将下载的浏览器驱动文件(例如:chromedriver、geckodriver)丢到该目录下。
我的电脑–>属性–>系统设置–>高级–>环境变量–>系统变量–>Path,将“F:\GeckoDriver”目录添加到Path的值中。比如:Path字段;F:\GeckoDriver
参考浏览器驱动环境配置
(二)Selenium 快速入门
入门参考文献:Selenium入门
1.Selenium提供了8种定位方式:
2.定位元素的8种方式
参考:selenium元素定位
定位一个元素 定位多个元素 含义 find_element_by_id find_elements_by_id 通过元素id定位 find_element_by_name find_elements_by_name 通过元素name定位 find_element_by_xpath find_elements_by_xpath 通过xpath表达式定位 find_element_by_link_text find_elements_by_link_tex 通过完整超链接定位 find_element_by_partial_link_text find_elements_by_partial_link_text 通过部分链接定位 find_element_by_tag_name find_elements_by_tag_name 通过标签定位 find_element_by_class_name find_elements_by_class_name 通过类名进行定位 find_elements_by_css_selector find_elements_by_css_selector 通过css选择器进行定位3.实例演示
假如我们有一个Web页面,通过前端工具(如,Firebug)查看到一个元素的属性是这样的。
<html> <head> <body link="#0000cc"> <a href="/" rel="external nofollow" onmousedown="return c({'fm':'tab','tab':'logo'})"> <form name="f" action="/s"> <span ></span> <input name="wd" value="" maxlength="255" autocomplete="off">通过id定位:
dr.find_element_by_id("kw")通过name定位:
dr.find_element_by_name("wd")通过class name定位:
dr.find_element_by_class_name("s_ipt")通过tag name定位:
dr.find_element_by_tag_name("input")通过xpath定位,xpath定位有N种写法,这里列几个常用写法:
dr.find_element_by_xpath("//*[@]")dr.find_element_by_xpath("//*[@name='wd']")dr.find_element_by_xpath("//input[@]")dr.find_element_by_xpath("/html/body/form/span/input")dr.find_element_by_xpath("//span[@]/input")dr.find_element_by_xpath("//form[@]/span/input")dr.find_element_by_xpath("//input[@ and @name='wd']")通过css定位,css定位有N种写法,这里列几个常用写法:
dr.find_element_by_css_selector("#kw")dr.find_element_by_css_selector("[name=wd]")dr.find_element_by_css_selector(".s_ipt")dr.find_element_by_css_selector("html > body > form > span > input")dr.find_element_by_css_selector("span.soutu-btn> input#kw")dr.find_element_by_css_selector("form#form > span > input")接下来,我们的页面上有一组文本链接。
<a href="http://news.baidu.com" rel="external nofollow" name="tj_trnews">新闻</a><a href="http://')driver.find_element_by_id('kw').send_keys('selenium')driver.find_element_by_id('su').click()sleep(2)#1.截取当前窗口,并指定截图图片的保存位置driver.get_screenshot_as_file("D:\\baidu_img.jpg")driver.quit()15.关闭浏览器
在前面的例子中我们一直使用quit()方法,其含义为退出相关的驱动程序和关闭所有窗口。除此之外,WebDriver还提供了close()方法,用来关闭当前窗口。例多窗口的处理,在用例执行的过程中打开了多个窗口,我们想要关闭其中的某个窗口,这时就要用到close()方法进行关闭了。
方法 说明 close() 关闭单个窗口 quit() 关闭所有窗口
总结
到此这篇关于Python Selenium库的基本使用教程的文章就介绍到这了,更多相关Python Selenium库使用内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!