Python Selenium Webdriver 元素定位
一、简单介绍:
1、webdriver属于selenium体系中设计出来操作浏览器的一套API,webdriver是python的一个用于实现web自动化的第三方库;
2、自动化要做的就是迷你鼠标和键盘来操作这些元素,比如点击、输入等,操作这些元素,必须先找到它们,所以webdriver中提供了8种元素定位的方法:
find_element_by_id
find_element_by_name
find_element_by_class_name
find_element_by_xpath
find_element_by_link_text
find_element_by_partial_link_text
find_element_by_tag_name
find_element_by_css_selector
二、元素定位操作方法
1、以百度网页举例,首页打开百度网页;
2、鼠标右键选择“检查(N)”,就可以查看到html格式的网页
3、点击html页面左上角的三角形,然后再移动鼠标对应的按钮或输入框,就可以查看到每个按钮或输入框或其它空间所对应的id和name等相关信息了
三、元素定位解析及举例
1、id定位
说明:webdriver提供的id定位的方法是通过元素的id属性来查找元素的
方法:find_element_by_id
举例:通过id定位“百度一下”按钮
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.find_element_by_id("kw").send_keys("中国")
driver.find_element_by_id("su").click()
2、name定位
说明:webdriver提供的name定位的方法是通过元素的name名称来查找元素的
方法:find_element_by_name
举例:通过name定位百度输入框
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.find_element_by_name("wd").send_keys("python")
driver.find_element_by_id("su").click()
3、class定位
说明:通过元素类名定位元素
方法:find_element_by_class_name
举例:元素类名定位百度输入框
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.find_element_by_class_name("s_ipt").send_keys("selenium")
driver.find_element_by_id("su").click()