###
selenium非常强大,支持多种浏览器,在自动化测试的时候,需要系统的浏览器版本和浏览器驱动版本相对应,
这里使用的是谷歌浏览器,驱动下载地址:http://chromedriver.storage.googleapis.com/index.html
下面不多说,直接进入正题。
###
一、安装模块
pip3 install selenium
二、使用
from selenium import webdriver
#创建浏览器对象,Chrome首字母要大写
driver = webdriver.Chrome()
#加载页面,这里使用豆瓣网站来举个栗子吧
driver.get('https://movie.douban.com/')
#页面最大化
driver.maximize_window()
#全屏
driver.fullscreen_window()
设置定位元素的操作超时时间(最多等待)
driver.implicitly_wait(10)
#当我们页面操作完后,即测试完成后,关闭浏览器
#driver.quit()
三、定位元素
###
这里会要求你要对前端的具有一定的知识了(比如html文件中一般有哪些标签之类的肯定要熟悉的)
###
1、根据元素的id定位(例如首页的查询框)
driver.find_element_by_id('inp-query')
2、根据元素的name属性定位(元素还是上面那个元素)
driver.find_element_by_name('search_text')
3、根据元素的classname属性来定位
driver.find_element_by_class_name('nav-login')
4、根据链接的文本来定位
driver.find_element_by_link_text('电影')
5、根据链接的部分文本来定位(参考第3个定位元素)
driver.find_element_by_partial_link_text('登录')
6、根据元素的tag标签定位(apple不常用这种方法,不解释太多)
driver.find_element_by_tag_name('input')
7、css定位(用的较多,比较重要的一个)
(1)class属性
driver.find_element_by_css_selector('标签.class') #点前面是标签,比如input,‘.’点代表后面要带的是class属性
也可以(‘.class’)
(2)id属性
driver.find_element_by_css_selector('#id') #井号后面带的是id的属性
也可以(‘标签#id’)
(3)其他属性('tag标签[属性=‘属性值’]')
driver.find_element_by_css_selector(‘input[name=“password”]’)#前面的标签可以不写
8、xpath定位(这个用的也很多,里面方式有很多种,比如正则,有空大家都可以尝试下)
driver.find_element_by_xpath('//tag标签/tag/tag[@属性=“属性值 and @属性=“属性值””]/tag')
这里有时候用的的“*”星号是通配符,指的是任意标签
四、浏览器操作
1、基本属性
driver.name#浏览器名字
driver.title#标题
driver.current_url#当前url
driver.page_resource#html代码
driver.back()#后退
driver.refresh()#刷新
driver.save_screenshot(r'D:XXX.PNG')#截屏