selenium定位详解

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还是用的比较少的

posted @ 2024-09-20 19:05  wu33169  阅读(4)  评论(0编辑  收藏  举报