Selenium2+python自動化65-js定位幾種方法總結

Selenium2+python自動化65-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("//www.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)