以百度页面为例:
定位控件的方法
1.通过id来定位(唯一 ,不能定位到多个)
driver.find_element_by_id('kw').send_keys('药家鑫')
driver.find_element(by='id',value='kw').send_keys('药家鑫')
2.通过name来定位
通过name 一个元素控件
driver.find_element_by_name('wd').send_keys('药家鑫')
driver.find_element(by='name',value='wd').send_keys('药家鑫')
找到一组元素控件
driver.find_elements_by_name()
driver.find_elements(by='name',value='')
3.通过classname定位
driver.find_element_by_class_name('s_ipt').send_keys('药家鑫')
driver.find_element(by="class name",value='s_ipt').send_keys('药家鑫')
driver.find_elements_by_class_name('')
driver.find_elements(by='class name', value='')
4.定位超链接
通过 link_text
driver.find_element_by_link_text('地图').click()
driver.find_element(by='link text',value='地图').click()
通过部分的超文本练级 partial_link_text
driver.find_element_by_partial_link_text('地').click()
driver.find_element(by='partial link text',value='地').click()
5.通过xpath定位控件
driver.find_element_by_xpath('/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input').send_keys('药家鑫')
driver.find_element(by='xpath', value= '/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input').send_keys()
6.通过css
driver.find_element_by_css_selector('#kw').send_keys('药家鑫')
driver.find_element(by='css selector',value='#kw').send_keys('药家鑫')
其他简单操作
get 访问网址
back() 后退
forward() 前进
refresh() 刷新
driver.get('http://www.baidu.com')
time.sleep(3)
driver.get('http://www.sina.com.cn')
time.sleep(2)
driver.back()
time.sleep(2)
driver.forward()
time.sleep(2)
driver.refresh()
send_keys 文本框输入内容
clear 清空输入框内容
click 点击按钮
is_diplayed() 是否显示
is_enabled() 是否可用
get_attribute 获取元素属性
driver.get('http://www.baidu.com')
driver.find_element_by_id('kw').send_keys('药家鑫')
time.sleep(3)
driver.find_element_by_id('kw').clear()
time.sleep(2)
element = driver.find_element_by_id('su')
print(element.get_attribute('value'))
print(element.is_enabled())
print(element.is_displayed())
driver.find_element_by_id('su').click()
鼠标悬停
from selenium.webdriver.common.action_chains import ActionChains
driver.get('http://www.baidu.com')
driver.maximize_window() #最大化窗口
time.sleep(2)
ActionChains(driver).move_to_element(driver.find_element_by_id("s-usersetting-top")).perform() #鼠标悬停