xpath和css详解
一、xpath定位
格式:driver.find_element_by_xpath(xpath表达式)
xpath路径://*[@id="kw"]
绝对路径:/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input
两个定位:
1、绝对定位:
特点:1.以单斜杠/开头;2.从页面根元素(HTML标签)开始,严格按照元素在HTML页面中的位置和顺序向下查找
如:/html/body/div[2]/div[1]/div[5]/div/div/form/span[1]/input
2、相对定位:(我们一般都是用相对定位来定位的)
特点:1.以双斜杠//开头;2.不考虑元素在页面当中的绝对路径和位置;3.只考虑是否存在符合表达式的元素即可。
2.1使用标签名+节点属性定位
语法://标签名[@属性名=属性值]


案例:
from selenium import webdriver #导入selenim 这个模块中的webdriver
import time
dx=webdriver.Chrome() #创建谷歌对象
dx.get("https://www.baidu.com/") #通过对象.get 打开网站
time.sleep(2)
dx.find_element_by_xpath('//*[@id="form"]/span[1]/input[1]').send_keys("xpath中的层级定位")
# dx.find_element_by_xpath('//*[@name="wd" and @autocomplete="off"]').send_keys("xpath中的组合属性定位")
# dx.find_element_by_xpath('//*[@autocomplete="off"]').send_keys("xpath中的其他属性定位")
# dx.find_element_by_xpath('//*[@class="s_ipt"]').send_keys("xpath中的class定位")
# dx.find_element_by_xpath('//*[@name="wd"]').send_keys("xpath中的name定位")
# dx.find_element_by_xpath('//*[@id="kw"]').send_keys("xpath中的id定位")
二、css的详解
from selenium import webdriver #导入selenim 这个模块中的webdriver
import time
dx=webdriver.Chrome() #创建谷歌对象
dx.get("https://www.baidu.com/") #通过对象.get 打开网站
time.sleep(2)
dx.find_element_by_css_selector('#form>span>input').send_keys("css中input上二层级定位")
# dx.find_element_by_css_selector('#form > span.bg.s_ipt_wr.new-pmd.quickdelete-wrap>input').send_keys("css中input上一层级定位")
# dx.find_element_by_css_selector('[autocomplete="off"][name="wd"]').send_keys("css中组合全称定位")
# dx.find_element_by_css_selector('[autocomplete="off"]').send_keys("css中其他属性全称定位")
# dx.find_element_by_css_selector("[name='wd']").send_keys("css中name全称定位")
# dx.find_element_by_css_selector("[class='s_ipt']").send_keys("css中class全称定位")
# dx.find_element_by_css_selector(".s_ipt").send_keys("css中clsss简写定位用.")
# dx.find_element_by_css_selector("[id='kw']").send_keys("css中id全称定位")
# dx.find_element_by_css_selector("#kw").send_keys("css中id简写定位用#")
浙公网安备 33010602011771号