css定位
一、css中的id定位
(1)id简写定位(#)
from selenium import webdriver
from time import *
dx=webdriver.Chrome()
dx.get("https://www.baidu.com/")
dx.find_element_by_css_selector("#kw").send_keys("css中id简写定位#")
(2)id全称定位
from selenium import webdriver
from time import *
dx=webdriver.Chrome()
dx.get("https://www.baidu.com/")
dx.find_element_by_css_selector("[id='kw']").send_keys("css中id的全称定位#")
二、css中的class定位
(1)css中class简写定位(.)
from selenium import webdriver
from time import *
dx=webdriver.Chrome()
dx.get("https://www.baidu.com/")
dx.find_element_by_css_selector(".s_ipt").send_keys("css中class的简写定位.")
(2)class中全称定位
from selenium import webdriver
from time import *
dx=webdriver.Chrome()
dx.get("https://www.baidu.com/")
dx.find_element_by_css_selector("[class='s_ipt']").send_keys("css中class的全称定位.")
(3)css中的name定位
from selenium import webdriver
from time import *
dx=webdriver.Chrome()
dx.get("https://www.baidu.com/")
dx.find_element_by_css_selector("[name='wd']").send_keys("css中name的全称定位.")
(4)css中的其他属性定位
from selenium import webdriver
from time import *
dx=webdriver.Chrome()
dx.get("https://www.baidu.com/")
dx.find_element_by_css_selector("[autocomplete='off']").send_keys("css中其他属性定位.")
(5)css中的组合属性定位
from selenium import webdriver
from time import *
dx=webdriver.Chrome()
dx.get("https://www.baidu.com/")
dx.find_element_by_css_selector("[autocomplete='off'][name='wd']").send_keys("css中组合属性定位")
(6)层级定位:
上一级:
form > span.bg.s_ipt_wr.new-pmd.quickdelete-wrap
上两级:
form
a、上一级定位
from selenium import webdriver
from time import *
dx=webdriver.Chrome()
dx.get("https://www.baidu.com/")
dx.find_element_by_css_selector("#form > span.bg.s_ipt_wr.new-pmd.quickdelete-wrap>input").send_keys("css中上一级定位"
b、上两级
form > 下一级> 下两级
在这9种常用的定位方法中,优先顺序
1)有id优先使用id定位
2)没有id,考虑使用name或者class定位。
3)如果没有id,name,class再考虑用xpath,css定位。
4)如果是链接可以考虑使用link_text,partial_link_text 定位。
5)tag_name和JavaScript还是用的比较少的