前言
本篇總結了幾種js經常使用的定位元素方法,並用js點擊按鈕,對input輸入框輸入文本
1、如下總結了5種js定位的方法
除了id是定位到的是單個element元素對象,其它的都是elements返回的是list對象
1.經過id獲取
document.getElementById(「id」)
2.經過name獲取
document.getElementsByName(「Name」)css
返回的是listweb
3.經過標籤名選取元素
document.getElementsByTagName(「tag」)
4.經過CLASS類選取元素
document.getElementsByClassName(「class」)
兼容性:IE8及其如下版本的瀏覽器未實現getElementsByClassName方法
5.經過CSS選擇器選取元素
document.querySelectorAll(「css selector")
兼容性:IE8及其如下版本的瀏覽器只支持CSS2標準的選擇器語法
2、id定位
1.定位博客首頁的管理按鈕:id="blog_nav_contact"瀏覽器
2.js的定位語法裏面id定位獲取的是單個元素對象,能夠直接用click()方法點擊元素spa
3、class定位
1.js裏面class定位獲取到是是一個list列表對象
2.操做元素的話經過下標取對應的第幾個值,若是隻用一個那就取下標[0]code
3.定位到輸入框,能夠直接用value="xxx"方法輸入內容對象
4.ByName和ByTagName跟上面class同樣,都是定位的一組元素
4、CSS選擇器
1.css選擇器定位到的也是一組元素,語法跟前面學到的css語法是同樣的blog
5、參考代碼:ip
# coding: utf-8 from selenium import Webdriver import time driver = webdriver.Firefox() driver.get("http://cnblogs.com/yoyoketang") #定位首頁管理按鈕:id=blog_nav_contact js1 = 'document.getElementById("blog_nav_contact")'.click;' driver.execute_script(js1) #輸入帳號 js2 = 'document.getElementsByClassName("input-text")[0].value="悠悠";' driver.execute_script(js2) #輸入密碼 js3 = 'document.getElementsByClassName("input-text")[1].value="xxx";' driver.execute_script(js3) #勾選記住密碼 js4 = 'document.getElementsByName("remember_me")[0].click();' driver.execute_script(js4) #點擊登陸按鈕 js5 = 'document.querySelectorAll(#signin)[0].click();' driver.execute_script(js5)