一、与浏览器建立连接
从selenium导入webdriver,获取驱动,并且打开网址
from selenium import webdriver
#获取chrome浏览器的驱动,并启动Chrome浏览器
driver = webdriver.Chrome()
#打开百度
driver.get('https://www.baidu.com')
二、查找元素
对于自动化框架来说,需要定位元素后才能进行下一步操作,基本操作如下
推荐的定位方式的优先级为:
优先级最高:ID
优先级其次:name
优先级再次:CSS selector
优先级再次:Xpath
原因如下
1:css是配合html来工作,它实现的原理是匹配对象的原理,而xpath是配合xml工作的,它实现的原理是遍历的原理,所以两者在设计上,css性能更优秀
2:相对于xpath定位,css定位更加简洁明了
3:前段开发主要是使用css,不使用xpath,所以在技术上面,我们可以获得帮助的机会非常多
find_element #通过指定方法查找指定的一个元素(需指定两个参数)
find_element_by_id #通过ID查找指定的一个元素
find_element_by_name #通过Name查找指定的一个元素
find_element_by_tag_name #通过标签名查找指定的一个元素
find_element_by_class_name #通过Class name查找指定的一个元素
find_element_by_link_text #通过链接文本获取指定的一个超链接(精确匹配)
find_element_by_partial_link_text #通过链接文本获取指定的一个超链接(模糊匹配)
find_element_by_xpath #通过Xpath语法来指定的一个元素
find_element_by_css_selector #通过CSS选择器查找指定的一个元素
find_elements #通过指定方法查找所有元素(需指定两个参数)
find_elements_by_id #通过ID查找所有元素
find_elements_by_name #通过Name查找所有元素
find_elements_by_tag_name #通过标签名查找所有元素
find_elements_by_class_name #通过Class name查找所有元素
find_elements_by_link_text #通过链接文本获取所有超链接(精确匹配)
find_elements_by_partial_link_text #通过链接文本获取所有超链接(模糊匹配)
find_elements_by_css_selector #通过CSS选择器查找所有元素
find_elements_by_xpath #通过Xpath语法来查找所有元素
举个例子,可以按F12进入控制台,然后查找到对应的元素,或者先找到对应元素然后右键点击检查,即可看到HTML中元素对应的内容
input元素中有id属性,name属性,选择通过ID查找元素
from selenium import webdriver
from selenium.webdriver.common.by import By
driver=webdriver.Chrome()
driver.get('https://www.baidu.com')
input = driver.find_element(By.ID,'kw')
这样就可以获取到对应的元素,其他方法也是类似