web选择元素与beautifulsoup
1.UI自动化要点
1. 选择界面元素
2. 操作界面元素
输入操作:点击、输入文字、拖拽等
输出操作:获取元素的各种属性
3.根据界面上获取的数据进行分析和处理
2.webdriver与webelement
1. 服务器进程:监听客户端脚本发送过来的请求
2. webdriver:操作整个浏览器和当前整个页面
1--当前页面上的选择符合查找条件的对象
2--打开网址,回退,刷新,前进,刷新网页
3--获取。改变浏览器窗口大小,关闭浏览器,截屏
4--获取、设置cookies
3.webelement
1--当前web元素的所有子元素里面符合查找条件的对象
2--操作该元素,比如:
点击元素
输入字符
获取元素坐标、尺寸、文本内容、其他属性信息
3.本地解析html的方法-BS4
安装:pip install beautifulsoup4
pip install html5lib
from bs4 import BeautifulSoup
# 获取html内容字符串,进行分析
with open('bs1.html',encoding='utf-8') as f:
html_doc = f.read()
# 构造bs对象,指定html5lib解析html
soup = BeautifulSoup(html_doc,'html5lib')
# 获取标签名
print(soup.find('title'))
print(soup.title.name)
# 获取元素文本
print(soup.title.string)
print(soup.title.get_text())
print(soup.a)
# 获取对应元素内容
print(soup.title)
# 获取所有匹配到的元素
print(soup.find_all('title'))
# 根据指定属性获取元素
print(soup.find('a',href='http://baidu.com/title'))
# 根据子元素找父元素
print(soup.find('div',id='d1').parent)
4.选择元素方法
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('file:///E:/%E5%AD%A6%E4%B9%A0/selenium%E5%AD%A6%E4%B9%A0'
'/%E7%AC%AC%E4%BA%8C%E8%8A%82/s1.html') # 打开网址
# 通过 name 元素查找
ele = driver.find_element_by_name('button')
print(ele.text)
eles = driver.find_elements_by_name('button')
print([ele.text for ele in eles])
# 通过 class 元素查找
ele = driver.find_element_by_class_name('cheese')
print(ele.text)
eles = driver.find_elements_by_class_name('cheese')
print([ele.text for ele in eles])
# 通过 超链接文本 元素查找
ele = driver.find_element_by_link_text('转到百度')
print(ele.text)
eles = driver.find_elements_by_link_text('转到百度')
print([ele.text for ele in eles])
# 部分超链接查找元素
ele = driver.find_element_by_partial_link_text('转到百度')
print(ele.text)
ele = driver.find_elements_by_partial_link_text('转到百度')
print([ele.text for ele in eles])
driver.quit()