selenium定位元素方法

一、class定位

class属性有空格是多重属性,取其中一个就行

#通过class定位,对应于class的值

# driver.find_element_by_class_name("s_ipt").send_keys("123")

driver.find_element_by_class_name("quickdelete-wrap")取class其中一个值就好

二、By元素定位

find_element()方法只用于定位元素。

它需要两个参数,第一个参数是定位方式,这个由By 提供;

第二个参数是定位的值。

在使用By 时需要将By 类导入。

from selenium.webdriver.common.by import By

find_element(By.ID,"kw")

find_element(By.NAME,"wd")

find_element(By.CLASS_NAME,"s_ipt")

三、鼠标事件:

from selenium.webdriver.common.action_chains import ActionChains

context_click() 右击

double_click() 双击

drag_and_drop(source, target)拖动

move_to_element() 鼠标悬停

四、xpath定位:

# driver.find_element_by_xpath("//*[@id='kw']").send_keys("hao")

#driver.find_element_by_xpath('/html/body/div#app/div/div/div/div/div/form/div/div/div/input.ivu-input.ivu-input.default/')

driver.find_element_by_xpath("//input[@type='text']").send_keys("lipanpan")

driver.find_element_by_xpath("//input[@type='password']").send_keys("15101019561")

# driver.find_element_by_xpath("//input[@type='button']").click()

五、通过id定位

find_element_by_id("kw").send_keys("悠悠")#输入框输入字符串

六、通过tag(标签)定位,*号匹配任何标签;也可以指定标签名称

find_element_by_tag_name("button").click()

七、通过class_name定位

driver.find_element_by_class_name("email").clear()

八、多个属性组合(逻辑运算)

# driver.find_elements_by_xpath("//input[@type='text' and @name='wd']")

九、相对路径:层级关系

# driver.find_element_by_xpath("//form[@id='form']/span/input")

十、索引:如定位搜索选项框

# driver.find_element_by_xpath("//*[@id='nr']/option[3]")

#同一父级多个子元素

# driver.find_element_by_xpath(".//*[@id='u1']/a[@class='mnav'][1]").click()

#多个相同元素不是一个父级

#driver.find_element_by_xpath(".//*[@id='sidebar_toptags']/div/ul/li/a")[0]

#contains模糊匹配text

你可能感兴趣的:(selenium定位元素方法)