只记录个人使用以及项目内开发使用的常见方法
一、基础网页元素定位
1.class定位法
调用语法:
点击事件:
driver.find_element_by_class_name("ed-right-bar_avatar_wrap").click()
输入事件:
driver.find_element_by_class_name("class的内容").send_keys("输入内容")
2.Xpath定位法
Xpath取值:定位元素后右键复制xpath的值
调用语法:
点击事件:
driver.find_element_by_xpath('//*[@id="pane-account"]').click()
输入事件:
driver.find_element_by_xpath('//*[@id="pane-account"]').send_keys()
基础定位定位百度的实例:
from selenium import webdriver
from time import sleep
class TestCase(object):
def __init__(self):
self.driver = webdriver.Chrome()
self.driver.get('http://www.baidu.com')
self.driver.maximize_window()
sleep(1)
def test_id(self):
element = self.driver.find_element_by_id('kw')
element.send_keys('selenium')
print(type(element))
self.driver.find_element_by_id('su').click()
sleep(3)
self.driver.quit()
def test_name(self):
# self.driver.find_element_by_name() 这个方法可能返回多个元素,返回第一个
# self.driver.find_elements_by_name() 这个带s,会返回一个集合
self.driver.find_element_by_name('wd').send_keys('selenium')
self.driver.find_element_by_id('su').click()
sleep(3)
self.driver.quit()
def test_xpath(self):
self.driver.find_element_by_xpath('//*[@id="kw"]').send_keys('极客时间')
self.driver.find_element_by_id('su').click()
sleep(3)
self.driver.quit()
def test_tag(self):
input = self.driver.find_element_by_tag_name('input')[0]
print(input)
if __name__ == '__main__':
case = TestCase()
#case.test_id()
#case.test_name()
#case.test_xpath()
case.test_tag()
另一种更简便的写法:
from selenium import webdriver
from selenium.webdriver.common.by import By
def get_element(driver,*loc):
e = driver.find_element(*loc)
return e
if __name__ == '__main__':
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
get_element(driver,By.ID,'kw').send_keys('selenium')
get_element(driver,By.ID,'su').click()
driver.quit()
二、内嵌网页元素定位



