'''
一、UI自动化元素定位八大法:
1.id: driver.find_element(By.ID,'su')
2.name:driver.find_element(By.NAME,'wd')
3.class: driver.find_element(By.CLASS_NAME,'s_ipt')
4.tag_name:find_element(By.TAG_NAME,'input')====>通过标签名字定位,一般用于定位标签只有一个的情况
5.link_text:driver.find_element(By.LINK_TEXT,'hao123')===》输入的内容需要和页面元素一样
6.partial link_text:driver.find_element(By.PARTIAL_LINK_TEXT,'hao')===》模糊文本定位,只要页面元素包含输入的内容
7.xpath:
7-1.copy xpath:相对路径
7-2.copy full xpath:绝对路径
7-3.//*[@id="kw"]
7-4.@:表示属性
7-5.//:表示同一层级关系,相对路径
7-6.*:表示任意标签
8.css:
8-1.driver.find_element(By.CSS_SELECTOR,'#kw') 使用id选择器用#
8-2.driver.find_element(By.CSS_SELECTOR,'[name=wd]') 使用name通过属性对应的值
8-3.driver.find_element(By.CSS_SELECTOR,'.s_ipt') 使用class选择器用.对应class的值
8-4.driver.find_element(By.CSS_SELECTOR,'form>span>input[name=wd]') 通过增加路径定位
二、JavaScript定位:
1.编写js代码:js='var a=document.getElementById("kw").value="python"'
2.执行:driver.execute_script(js)
三、定位函数
1.find_element 针对需要定位的标签只有一个的时候
2.find_elements 复试形式,针对定位的标签存在多个情况定位到的所有标签以列表的形式返回
'''
from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
driver=webdriver.Chrome() #驱动谷歌浏览器
driver.get('https://www.baidu.com/')
driver.maximize_window()
# xpath
driver.find_element(By.XPATH,'//*[@id="kw"]').send_keys('123')
driver.find_element(By.XPATH,'/html/body/div[2]/div[1]/div[5]/div/div/form/span[1]/input').send_keys('123')
定位练习网站: