一、C/S 和B/S架构
C/S:需要定制,数据传输安全,成本高,一般大公司使用,多用C语言开发
B/S:大部分公司使用,成本低 ,开发效率高,多用JAVA开发,采用selenium对网页进行自动化测试
二、打开浏览器和网页
from selenium import webdriver #从selenium库导入webdriver模块
driver=webdriver.Chrome() #打开谷歌浏览器
driver.get('https://www.baidu.com') #打开百度首页
三、selenium的8种定位方式
1.根据id属性定位元素(唯一)
driver.find_element_by_id('kw').send_keys('货拉拉') #定位百度输入框,并输入货拉拉;
2.根据name属性定位元素(一般唯一)
driver.find_element_by_name('wd').send_keys('货拉拉')
3.根据class属性定位元素(不唯一)
driver.find_element_by_class_name('s_ipt').send_keys('货拉拉')
4.根据元素名定位元素(不唯一)
print(ver.find_elements_by_tag_name('input') ) #定位所有元素名为input的元素并打印,将会以列表格式打印
5.根据文本定位超链接元素(完全匹配)
driver.find_element_by_link_text('新闻').click() #点击百度首页新闻
6.根据文本定位超链接元素(模糊匹配)
driver.find_element_by_partial_link_text('播').click() #点击百度首页直播
7.利用元素间嵌套关系定位元素xpath,可替代其他定位方式
driver.find_element_by_xpath('/html/body/div[1]/div[1]/div[5]/div/div/form/span[2]/input').click() #以绝对路径方式定位百度一下按钮并点击
driver.find_element_by_xpath('//input[@id="su"]').click() #精确匹配,以相对路径,元素名+属性方式定位百度一下按钮并点击
driver.find_element_by_xpath('//input[contains(@value,"一下")]').click() #模糊匹配,以相对路径,元素名+属性方式定位百度一下按钮并点击
driver.find_element_by_xpath('//a[text()="贴吧"]').click() #精确匹配,以相对路径,元素名+文本方式定位百度首页贴吧并点击
driver.find_element_by_xpath('//*[contains(text(),"度热榜")]').click() #模糊匹配,以相对路径,元素名+文本方式定位百度首页百度热榜并点击
8.css定位
driver.find_element_by_css_selector('#su').click() #点击百度一下
四、异常处理
try:
**** #输入可能出现异常的语句
except exception as e: #捕捉exception类型异常命名为e
print(e) #抛出异常
finally:
**** #异常发生时应不影响本语句块中语句的执行
五、关闭当前网页和退出浏览器
driver.close() #关闭当前网页
driver.quit() #退出浏览器
|