# coding:utf-8
from selenium import webdriver # 导入webdriver框架
import time # 导入time 功能
driver = webdriver.Firefox() # 启动谷歌浏览器
driver.get("https://www.baidu.com") # 打开百度网页
time.sleep(3) # 休息3秒
#八种定位语法的单数定位~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 通过ID来定位元素
# driver.find_element_by_id("kw").send_keys(u"我才玩") #找到输入框ID 输入搜索值
# time.sleep(3) # 休息3秒
# driver.find_element_by_id("su").click() #找到搜索键ID 出发点击事件
# time.sleep(3) # 休息3秒
# driver.find_element_by_id("kw").clear() #清空输入框
# time.sleep(3) # 休息3秒
# driver.find_element_by_id("kw").send_keys(u"啥资源") #找到输入框ID 输入搜索值
# time.sleep(3) # 休息3秒
# driver.find_element_by_id("su").click() #找到搜索键ID 出发点击事件
# time.sleep(3) # 休息3秒
# driver.quit() #退出浏览器
#通过name来定位元素
# driver.find_element_by_name("wd").send_keys(u"大傻叉")#找到输入框name 输入搜索值
# time.sleep(3) # 休息3秒
# driver.quit() #退出浏览器
#通过class来定位元素(class中间有空格的时候 )
# driver.find_element_by_class_name("s_ipt").send_keys(u"干啥呢")#找到输入框class 输入搜索值
# time.sleep(3) # 休息3秒
# driver.quit() #退出浏览器
#通过标签来定位元素tag
# driver.find_element_by_tag_name("input")
#通过link来定位文字链接元素
# driver.find_element_by_link_text(u"新闻").click() #找到link文字链接元素 进行点击操作
# time.sleep(3)
#当通过link定位的文字比较长可以用这种方法截取部分文字定位
# driver.find_element_by_partial_link_text("hao").click()
# time.sleep(3)
#
# driver.quit()
#通过Xpath来定位界面元素
# driver.find_element_by_xpath(".//*[@id='ul']/a[l]").click() #Xpath语法有误(没工具)
# time.sleep(3)
# driver.quit()
#通过css来定位界面元素
# driver.find_element_by_css_selector("#kw").send_keys("我是你大爷") #没工具
# time.sleep(3)
# driver.quit()
#八种定位语法的复数定位(定位一组元素)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#mnav
#第一种复数定位方法
# els=driver.find_elements_by_class_name("mnav")
# #得到list 值
# print(els)
# #看他定位到第几个元素
# print(len(els))
# #点击其中的一个元素
# els[2].click() #点击的是第三个
#第二种简便方法
els=driver.find_elements_by_class_name("mnav")[3].click()
time.sleep(3)
driver.quit()
如果class属性中有空格怎么办?
class有空格是多重属性,取其中一个就行