目录
1、如何快速找到元素?
以百度为例,使用Chrome浏览器打开www.baidu.com后,按F12打开开发者工具,如下图:
点击下图图标,选择指定位置元素:
移动到搜索输入框,如下图:
这样就可以找到你想定位的元素位置了。
2、webdriver提供了一系列的元素定位方法,常用的有以下几种:
- find_element_by_id()
- find_element_by_name()
- find_element_by_class_name()
- find_element_by_tag_name()
- find_element_by_link_text()
- find_element_by_partial_link_text()
- find_element_by_xpath()
- find_element_by_css_selector()
2.1 find_element_by_id()
通过id方式定位元素,实例:
1 2 3 4 5 |
from selenium import webdriver driver = webdriver.Chrome() driver.get("http://www.baidu.com") iTestCat = driver.find_element_by_id("kw") iTestCat.send_keys("iTestCat") |
2.2. find_element_by_name()
通过name方式定位元素,实例:
1 2 3 4 5 |
from selenium import webdriver driver = webdriver.Chrome() driver.get("http://www.baidu.com") iTestCat = driver.find_element_by_name("wd") iTestCat.send_keys("iTestCat") |
2.3.find_element_by_class_name()
通过class_name方式定位元素,实例:
1 2 3 4 5 |
from selenium import webdriver driver = webdriver.Chrome() driver.get("http://www.baidu.com") iTestCat=driver.find_element_by_class_name("s_ipt") iTestCat.send_keys("iTestCat") |
2.4.find_element_by_tag_name()
通过tag_name方式定位元素,实例:
1 2 3 4 5 |
from selenium import webdriver driver = webdriver.Chrome() driver.get("http://www.baidu.com") iTestCat=driver.find_element_by_tag_name("input") iTestCat.send_keys("iTestCat") |
2.5.find_element_by_link_text()
通过link_text(文字链接)方式定位元素,实例:
1 2 3 4 5 |
from selenium import webdriver driver = webdriver.Chrome() driver.get("http://www.baidu.com") iTestCat = driver.find_element_by_link_text("新闻") iTestCat.click() |
2.6.find_element_by_partial_link_text()
通过partial_link_text(部分链接定位)方式定位元素,实例:
1 2 3 4 5 |
from selenium import webdriver driver = webdriver.Chrome() driver.get("http://www.baidu.com") iTestCat = driver.find_element_ partial_by_link_text("闻") iTestCat.click() |
2.7.find_element_by_xpath()
XPath为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。
获取xpath的方式:
右键->点击【copy】->点击【Copy XPath】,这时你已经获取了搜索框的xpath://*[@id=”kw”
通过xpath方式定位元素,实例:
1 2 3 4 5 6 7 |
from selenium import webdriver driver = webdriver.Chrome() driver.get("http://www.baidu.com") iTestCat=driver.find_element_by_xpath("//*[@id=\"kw\"] ") #或者你也可以将双引号改为单引号 # iTestCat=driver.find_element_by_xpath("//*[@id=’kw’] ") iTestCat.send_keys("iTestCat") |
2.8.find_element_by_css_selector()
css_selector是HTML的css选择器的标签定位。
获取css_selector的方式:
右键->点击【copy】->点击【Copy selector】,这时你已经获取了搜索框的css_selector:#kw
通过css_selector方式定位元素,实例:
1 2 3 4 5 |
from selenium import webdriver driver = webdriver.Chrome() driver.get("http://www.baidu.com") iTestCat=driver.find_element_by_css_selector("#kw ") iTestCat.send_keys("iTestCat") |
原创文章,作者:iTestCat,保留所有权利,禁止转载,如若转载,请联系作者!