【心善淵&Selenium3.0基礎】— 12、Selenium中元素常用操作

1、元素常用操作

操作 說明
click() 單擊元素
send_keys() 模擬輸入
clear() 清除文本
submit() 點擊提交

示例:

頁面代碼片段:

<!DOCTYPE html>
<html lang="zh-cn">
<body>
<div id="zc">
    <legend>註冊用戶A</legend>
    <p id="p1">
        <label for="userA">賬號A</label>
        <input type="textA" name="userA" id="userA" class="c_uA" placeholder="賬號A" required="" value="">
    </p>
    <p>
        <label for="password">密碼A</label>
        <input type="password" name="passwordA" id="passwordA" placeholder="密碼A" value="">
    </p>
    <p><a href="http://www.baidu.com" id="fwA">訪問 百度 網站</a></p>
</div>
</body>
</html>

腳本代碼:

"""
1.學習目標:
    必須掌握selenium中元素的輸入,點擊,清空
2.語法
    2.1 點擊
        元素.click()
    2.2 輸入
        元素.send_keys(輸入的內容)
    2.3 清空
        元素.clear()
    2.4 提交
        元素.submit()
3.需求
    在頁面中,完成元素的輸入,點擊,清空,提交
4.總結
    在對輸入框進行輸入操作時,先清空再輸入(要記住)
"""
# 1.導入selenium
from selenium import webdriver
from time import sleep
import os

# 2.打開瀏覽器
driver = webdriver.Chrome()

# 3.打開頁面
url = "file:///" + os.path.abspath("./1.html")
driver.get(url)

# 4.對賬號A輸入框做輸入和清空操作,點擊新浪網站連接
# 4.1 定位輸入框和百度超鏈接
# 定位賬號A輸入框
textA = driver.find_element_by_id("userA")
# 定位百度超鏈接
baidu = driver.find_element_by_link_text("訪問 百度 網站")

# 4.2 輸入文字,清空
# 在賬號A中輸入Selenium
textA.send_keys("Selenium")
sleep(2)
# 清空賬號A中的輸入內容
textA.clear()
sleep(2)

# 4.3 點擊百度超鏈接
baidu.click()

# 4.4 定位百度輸入框
baidu_element = driver.find_element_by_id("kw")

# 4.5 在輸入框中輸入【心善淵&Selenium基礎】
baidu_element.send_keys("【心善淵&Selenium基礎】")
sleep(5)
# 4.6 定位按鈕 百度一下
yixia_element = driver.find_element_by_id("su")

# 4.7 點擊百度一下
"""
submit()調用提交,
submit()的作用等同於click(),
但是click()的使用面要更廣一些。
"""
yixia_element.submit()


# 5.關閉瀏覽器
sleep(2)
driver.quit()

補充:

  • click()方法

    click()方法就是單純的點擊下,或者說是單擊下鼠標左鍵,更強調是一個獨立性的事件。

  • submit()方法

    submit()方法一般使用在有form標籤的表單中,把form表單中的信息提交到後臺。submit()方法主要用於對信息進行提交,也可以使用click()方法進行代替。

2、元素其他操作方法

操作 說明
size 返回元素大小(長寬像素)
text 獲取元素的文本(兩個標籤之間的文字)
get_attribute(“xxx”) 獲取屬性值,xxx表示元素中要獲取的屬性
is_display() 判斷元素是否可見,也就是在頁面中是否可見
is_enabled() 判斷元素是否可用
title 獲取頁面title
current_url 獲取當前頁面URL

提示:

  • sizetexttitlecurrent_url:爲屬性,調用時無括號。

    如:元素.size

  • is_display()is_enabled():爲方法,調用時需要括號。

    如:元素.is_display().

  • titlecurrent_url:使用瀏覽器實例化對象直接調用。

    如: driver.title

示例:

頁面代碼片段:

<!DOCTYPE html>
<html lang="zh-cn">
<body>
<div id="zc">
    <title>註冊A</title>
    <button type="submitA" name="First button" value="註冊A" title="加入會員A">註冊用戶A</button>
</div>
</body>
</html>

腳本代碼:

"""
1.學習目標:
    掌握selenium中元素的其他操作
2.語法
    2.1 size 獲取元素大小
        元素.size
    2.2 text 獲取元素文本(掌握)
        元素.text  2個標籤之間的文字
    2.3 get_attribute() 獲取元素屬性(掌握)
        元素.get_attribute("屬性名")
    2.4 is_displayed() 判斷元素是否可見(掌握)
        元素.is_displayed()
    2.5 is_enabled()  判斷元素是否可用(掌握)
        元素.is_enabled()
    2.6 獲取頁面標題
        driver.title
    2.7 獲取當前頁面url
        driver.current_url
3.需求
    在頁面中,完成上面操作。
"""
# 1.導入selenium
from selenium import webdriver
from time import sleep
import os

# 2.打開瀏覽器
driver = webdriver.Chrome()

# 3.打開頁面
url = "file:///" + os.path.abspath("./2.html")
driver.get(url)

# 4.元素其他操作---按鈕
button = driver.find_element_by_css_selector("button[type='submitA']")

# 4.1 獲取元素大小
print("元素大小:", button.size)

# 4.2 獲取元素文本
print("元素文本:", button.text)

# 4.3 獲取元素屬性
print("元素的value屬性值:", button.get_attribute("value"))
print("元素的title屬性值:", button.get_attribute("title"))
# 沒有的屬性爲空,什麼都不打印,但不報錯
print(button.get_attribute("id"))

# 4.4 判斷元素是否可見
print("button按鈕是否可見:", button.is_displayed())

# 4.5 判斷元素是否可用
print("button按鈕是否可用:", button.is_enabled())

# 4.6 獲取頁面標題
print("頁面的title:", driver.title)

# 4.7 獲取當前頁面url
print(driver.current_url)

# 5.關閉瀏覽器
sleep(2)
driver.quit()
"""
輸出結果:
元素大小: {'height': 23, 'width': 78}
元素文本: 註冊用戶A
元素的value屬性值: 註冊A
元素的title屬性值: 加入會員A

button按鈕是否可見: True
button按鈕是否可用: True
頁面的title: 註冊A
file:///J:/PyCharmWorkSpace/firstproject/selenium/demo/2.html
"""
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章