色由紅色、綠色、藍色混合而成。
顏色由一個十六進制符號來定義,這個符號由紅色、綠色和藍色的值組成(RGB)。
每種顏色的最小值是0(十六進制:#00)。最大值是255(十六進制:#FF)。
這個表格給出了由三種顏色混合而成的具體效果:
HTML基礎教程: 顏色知多少
TML(HyperText Markup Language)是一種用于創建網頁的標記語言。它由一系列的標簽組成,這些標簽用于描述網頁的結構和內容。HTML標簽通常由尖括號包圍,例如<tag>。
HTML標簽可以分為兩類:塊級元素和內聯元素。塊級元素用于組織網頁的結構,例如段落、標題、列表等。內聯元素用于標記文本中的特定部分,例如鏈接、強調文本等。
HTML標簽可以包含屬性,屬性提供了有關標簽的額外信息。例如,<a>標簽用于創建鏈接,可以使用href屬性指定鏈接的目標URL。
除了標簽和屬性,HTML還支持一些特殊字符實體,用于表示特殊字符,例如小于號(<)、大于號(>)等。
HTML可以與CSS(層疊樣式表)和JavaScript一起使用,以增強網頁的外觀和功能。CSS用于控制網頁的樣式,例如顏色、字體、布局等。JavaScript用于實現交互性和動態效果,例如表單驗證、動畫等。
通過使用HTML,開發人員可以創建具有結構良好、易于理解和導航的網頁。它是構建互聯網的基礎之一,被廣泛應用于網站開發和內容管理系統。
HTML的語法由標簽、屬性和內容組成。下面是HTML的基本語法規則:
下面是一個簡單的HTML示例:
<!DOCTYPE html>
<html>
<head>
<title>我的網頁</title>
</head>
<body>
<h1>歡迎來到我的網頁</h1>
<p>這是一個段落。</p>
<a href="https://www.example.com">點擊這里</a>訪問示例網站。
</body>
</html>
在這個示例中,<!DOCTYPE html>聲明了文檔類型為HTML5。<html>標簽是HTML文檔的根元素。<head>標簽用于定義文檔的頭部信息,例如標題和樣式表。<title>標簽定義了網頁的標題,將顯示在瀏覽器的標題欄中。<body>標簽用于定義文檔的主體內容。<h1>標簽定義了一個一級標題,<p>標簽定義了一個段落,<a>標簽定義了一個鏈接。
言
在做web自動化的時候,對于一些彈出的提示信息的字體顏色,當然一般都是紅色的。那么當我們跑自動化時候,如何判斷提示新的字體顏色是否我們預期的結果呢?
個人思路
安靜這里先介紹下自己的思路:
·先獲取到提示信息的元素坐標點;
·想辦法獲取到前端中該元素的顏色屬性值;
·最后通過獲取的屬性值與我們的預期值進行比較。
猛然一看該思路,啥用沒有。但是我們可以先翻閱selenium中的官方文檔,看看官方文檔中有沒有一些幫助內容。
安靜從官方文檔中找到了:
def value_of_css_property(self, property_name):
"""The value of a CSS property."""
return self._execute(Command.GET_ELEMENT_VALUE_OF_CSS_PROPERTY, {
'propertyName': property_name})['value']
該方法意思就是可以獲取到元素的CSS的屬性值。這不就解決了獲取元素的顏色屬性值了嗎?
實戰演示
安靜這里隨便找個網站先查看下錯誤提示信息的元素坐標,以及錯誤提示信息的字體顏色內容。
通過代碼的形式查看下CSS的屬性值是否和我們的預期一樣。
from selenium import webdriver
import time
driver = webdriver.Chrome()
# 隨便找了個經常逛的網站。
driver.get('https://passport.juhe.cn/cas/login')
# 輸入賬號名
driver.find_element_by_name('username').send_keys('12345')
# 輸入密碼
driver.find_element_by_id('password-o').send_keys('1111111')
# 點擊登錄
driver.find_element_by_id('loginBtn').click()
time.sleep(1)
# 獲取提示字體信息
xx = driver.find_element_by_xpath('//*[@class="sysError"]').text
print(xx)
aa = driver.find_element_by_xpath('//*[@class="sysError"]')
# 獲取該元素的CSS屬性值
print(aa.value_of_css_property('color'))
通過執行后發現獲取的CSS屬性值基本上和我們在web頁面上的一樣,為啥說基本上呢,因為這web頁面CSS區域顯示的是rgba(254 ,81 , 74),沒有1。
安靜也不確定對不對,于是再次查看selenium中的官方文檔,發現了selenium中有對字體顏色的標識內容。
從文檔中可以看出來,可以對其顏色的格式內容進行轉換,這樣我們就可以來判斷是否字體顏色是否正確。
from selenium import webdriver
import time
from selenium.webdriver.support.color import Color
driver = webdriver.Chrome()
# 隨便找了個經常逛的網站。
driver.get('https://passport.juhe.cn/cas/login')
# 輸入賬號名
driver.find_element_by_name('username').send_keys('12345')
# 輸入密碼
driver.find_element_by_id('password-o').send_keys('1111111')
# 點擊登錄
driver.find_element_by_id('loginBtn').click()
time.sleep(1)
# 獲取提示字體信息
xx = driver.find_element_by_xpath('//*[@class="sysError"]').text
print(xx)
aa = driver.find_element_by_xpath('//*[@class="sysError"]')
# 獲取該元素的CSS屬性值
print(aa.value_of_css_property('color'))
# 查看#fe514a格式的rgb格式
print(Color.from_string('#fe514a').rgba)
# 查看顏色的hex格式。
print(Color.from_string('rgba(254, 81, 74, 1)').hex)
通過執行后發現,顏色內容是一致的。
PS:這里的rgba和hex表示顏色的標識,其實hex是十六進制。
總結
安靜簡單地通過一個案例,演示了如何進行判斷頁面中的字體顏色。
在實踐中也遇到了一些困難,通過查閱官方文檔進行解決了,也學習了兩個方法,一個是獲取CSS屬性,以及顏色的轉換支持。所以說遇到問題不要著急,看看官方文檔,說不定就有意外的收獲。
好了,我是安靜,感謝您的閱讀。
**推薦一個「Python自動化測試學習交流群」給大家:
請關注+私信回復:"測試" 就可以免費拿到軟件測試學習資料,同時進入群學習交流~~
*請認真填寫需求信息,我們會在24小時內與您取得聯系。