2.32 js幾種定位方法總結
前言
本篇總結了幾種js常用的定位元素方法,並用js點擊按鈕,對input輸入框輸入文本
一、以下總結了5種js定位的方法
除了id是定位到的是單個element元素對象,其它的都是elements返回的是list對象
1.通過id獲取
document.getElementById(“id”)
2.通過name獲取
document.getElementsByName(“Name”)
返回的是list
3.通過標簽名選取元素
document.getElementsByTagName(“tag”)
4.通過CLASS類選取元素
document.getElementsByClassName(“class”)
兼容性:IE8及其以下版本的瀏覽器未實現getElementsByClassName方法
5.通過CSS選擇器選取元素
document.querySelectorAll(“css selector")
兼容性:IE8及其以下版本的瀏覽器只支持CSS2標准的選擇器語法
二、id定位
1.定位博客首頁的管理按鈕:id="blog_nav_contact"
2.js的定位語法里面id定位獲取的是單個元素對象,可以直接用click()方法點擊元素
三、class定位
1.js里面class定位獲取到是是一個list列表對象
2.操作元素的話通過下標取對應的第幾個值,如果只用一個那就取下標[0]
3.定位到輸入框,可以直接用value="xxx"方法輸入內容
4.ByName和ByTagName跟上面class一樣,都是定位的一組元素
四、CSS選擇器
1.css選擇器定位到的也是一組元素,語法跟前面學到的css語法是一樣的
五、參考代碼:
# 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)