關於網頁元素
您可以了解關於元素的哪些資訊。
您可以查詢關於特定元素的許多詳細資訊。
是否顯示
此方法用於檢查連接的元素是否顯示在網頁上。傳回布林值,如果連接的元素顯示在目前的瀏覽上下文中,則傳回 True,否則傳回 False。
此功能在文件中被提及,但由於無法涵蓋所有潛在條件,因此未在 w3c 規範中定義。因此,Selenium 無法期望驅動程式直接實作此功能,現在依賴於直接執行大型 JavaScript 函數。此函數對元素的性質及其在樹狀結構中的關係進行許多近似,以傳回值。
driver.get("https://selenium.dev.org.tw/selenium/web/inputs.html");
// isDisplayed
// Get boolean value for is element display
boolean isEmailVisible = driver.findElement(By.name("email_input")).isDisplayed();
assertEquals(isEmailVisible,true);
driver.get("https://selenium.dev.org.tw/selenium/web/inputs.html")
# isDisplayed
is_email_visible = driver.find_element(By.NAME, "email_input").is_displayed()
// Navigate to Url
driver.Url= "https://selenium.dev.org.tw/selenium/web/inputs.html";
// isDisplayed
// Get boolean value for is element display
bool isEmailVisible = driver.FindElement(By.Name("email_input")).Displayed;
Assert.AreEqual(isEmailVisible, true);
displayed_value = driver.find_element(name: 'email_input').displayed?
// Resolves Promise and returns boolean value
let result = await driver.findElement(By.name("email_input")).isDisplayed();
//navigates to url
driver.get("https://selenium.dev.org.tw/selenium/web/inputs.html")
//returns true if element is displayed else returns false
val flag = driver.findElement(By.name("email_input")).isDisplayed()
是否啟用
此方法用於檢查連接的元素在網頁上是否已啟用或停用。傳回布林值,如果連接的元素在目前的瀏覽上下文中已啟用,則傳回 True,否則傳回 False。
//isEnabled
//returns true if element is enabled else returns false
boolean isEnabledButton = driver.findElement(By.name("button_input")).isEnabled();
assertEquals(isEnabledButton,true);
is_enabled_button = driver.find_element(By.NAME, "button_input").is_enabled()
//isEnabled
//returns true if element is enabled else returns false
bool isEnabledButton = driver.FindElement(By.Name("button_input")).Enabled;
Assert.AreEqual(isEnabledButton, true);
enabled_value = driver.find_element(name: 'email_input').enabled?
// Resolves Promise and returns boolean value
let element = await driver.findElement(By.name("button_input")).isEnabled();
//navigates to url
driver.get("https://selenium.dev.org.tw/selenium/web/inputs.html")
//returns true if element is enabled else returns false
val attr = driver.findElement(By.name("button_input")).isEnabled()
是否選取
此方法判斷參考的元素是否被選取。此方法廣泛用於核取方塊、單選按鈕、輸入元素和選項元素。
傳回布林值,如果參考的元素在目前的瀏覽上下文中被選取,則傳回 True,否則傳回 False。
//isSelected
//returns true if element is checked else returns false
boolean isSelectedCheck = driver.findElement(By.name("checkbox_input")).isSelected();
assertEquals(isSelectedCheck,true);
is_selected_check = driver.find_element(By.NAME, "checkbox_input").is_selected()
//isSelected
//returns true if element is checked else returns false
bool isSelectedCheck = driver.FindElement(By.Name("checkbox_input")).Selected;
Assert.AreEqual(isSelectedCheck, true);
selected_value = driver.find_element(name: 'email_input').selected?
// Returns true if element ins checked else returns false
let isSelected = await driver.findElement(By.name("checkbox_input")).isSelected();
//navigates to url
driver.get("https://selenium.dev.org.tw/selenium/web/inputs.html")
//returns true if element is checked else returns false
val attr = driver.findElement(By.name("checkbox_input")).isSelected()
標籤名稱
它用於抓取目前瀏覽上下文中具有焦點的參考元素的標籤名稱。
//TagName
//returns TagName of the element
String tagNameInp = driver.findElement(By.name("email_input")).getTagName();
assertEquals(tagNameInp,"input");
tag_name_inp = driver.find_element(By.NAME, "email_input").tag_name
//TagName
//returns TagName of the element
string tagNameInp = driver.FindElement(By.Name("email_input")).TagName;
Assert.AreEqual(tagNameInp, "input");
tag_name = driver.find_element(name: 'email_input').tag_name
// Returns TagName of the element
let value = await driver.findElement(By.name('email_input')).getTagName();
//navigates to url
driver.get("https://selenium.dev.org.tw/selenium/web/inputs.html")
//returns TagName of the element
val attr = driver.findElement(By.name("email_input")).getTagName()
尺寸和位置
它用於抓取參考元素的尺寸和座標。
抓取的資料主體包含以下詳細資訊
- 從元素左上角開始的 X 軸位置
- 從元素左上角開始的 Y 軸位置
- 元素的高度
- 元素的寬度
//GetRect
// Returns height, width, x and y coordinates referenced element
Rectangle res = driver.findElement(By.name("range_input")).getRect();
// Rectangle class provides getX,getY, getWidth, getHeight methods
assertEquals(res.getX(),10);
rect = driver.find_element(By.NAME, "range_input").rect
//Get Location and Size
//Get Location
IWebElement rangeElement = driver.FindElement(By.Name("range_input"));
Point point = rangeElement.Location;
Assert.IsNotNull(point.X);
//Get Size
int height=rangeElement.Size.Height;
Assert.IsNotNull(height);
size = driver.find_element(name: 'email_input').size
let object = await driver.findElement(By.name('range_input')).getRect();
// Navigate to url
driver.get("https://selenium.dev.org.tw/selenium/web/inputs.html")
// Returns height, width, x and y coordinates referenced element
val res = driver.findElement(By.name("range_input")).rect
// Rectangle class provides getX,getY, getWidth, getHeight methods
println(res.getX())
取得 CSS 值
擷取目前瀏覽上下文中元素的指定計算樣式屬性的值。
// Retrieves the computed style property 'font-size' of field
String cssValue = driver.findElement(By.name("color_input")).getCssValue("font-size");
assertEquals(cssValue, "13.3333px");
css_value = driver.find_element(By.NAME, "color_input").value_of_css_property(
"font-size"
)
// Retrieves the computed style property 'font-size' of field
string cssValue = driver.FindElement(By.Name("color_input")).GetCssValue("font-size");
Assert.AreEqual(cssValue, "13.3333px");
css_value = driver.find_element(name: 'email_input').css_value('background-color')
await driver.get('https://selenium.dev.org.tw/selenium/web/colorPage.html');
// Returns background color of the element
let value = await driver.findElement(By.id('namedColor')).getCssValue('background-color');
// Navigate to Url
driver.get("https://selenium.dev.org.tw/selenium/web/colorPage.html")
// Retrieves the computed style property 'color' of linktext
val cssValue = driver.findElement(By.id("namedColor")).getCssValue("background-color")
文字內容
擷取指定元素的呈現文字。
//GetText
// Retrieves the text of the element
String text = driver.findElement(By.tagName("h1")).getText();
assertEquals(text, "Testing Inputs");
text = driver.find_element(By.TAG_NAME, "h1").text
//GetText
// Retrieves the text of the element
string text = driver.FindElement(By.TagName("h1")).Text;
Assert.AreEqual(text, "Testing Inputs");
text = driver.find_element(xpath: '//h1').text
await driver.get('https://selenium.dev.org.tw/selenium/web/linked_image.html');
// Returns text of the element
let text = await driver.findElement(By.id('justanotherLink')).getText();
// Navigate to URL
driver.get("https://selenium.dev.org.tw/selenium/web/linked_image.html")
// retrieves the text of the element
val text = driver.findElement(By.id("justanotherlink")).getText()
抓取屬性或特性
抓取與 DOM 屬性相關聯的執行階段值。它傳回與元素的 DOM 屬性或特性相關聯的資料。
//FetchAttributes
//identify the email text box
WebElement emailTxt = driver.findElement(By.name(("email_input")));
//fetch the value property associated with the textbox
String valueInfo = emailTxt.getAttribute("value");
assertEquals(valueInfo,"admin@localhost");
# FetchAttributes
email_txt = driver.find_element(By.NAME, "email_input")
value_info = email_txt.get_attribute("value")
//FetchAttributes
//identify the email text box
IWebElement emailTxt = driver.FindElement(By.Name("email_input"));
//fetch the value property associated with the textbox
string valueInfo = emailTxt.GetAttribute("value");
Assert.AreEqual(valueInfo, "admin@localhost");
attribute_value = driver.find_element(name: 'number_input').attribute('value')
// identify the email text box
const emailElement = await driver.findElement(By.xpath('//input[@name="email_input"]'));
//fetch the attribute "name" associated with the textbox
const nameAttribute = await emailElement.getAttribute("name");
// Navigate to URL
driver.get("https://selenium.dev.org.tw/selenium/web/inputs.html")
//fetch the value property associated with the textbox
val attr = driver.findElement(By.name("email_input")).getAttribute("value")