国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Selenium】隱藏元素的定位和操作|隱藏與isDisplay方法

這篇具有很好參考價(jià)值的文章主要介紹了【Selenium】隱藏元素的定位和操作|隱藏與isDisplay方法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、selenium 中隱藏元素如何定位?

如果單純的定位的話,隱藏元素和普通不隱藏元素定位沒啥區(qū)別,用正常定位方法就行了
但是吧~~~能定位到并不意味著能操作元素(如click,clear,send_keys)

二、隱藏元素

如下圖有個(gè)輸入框和一個(gè)登錄的按鈕,本來是顯示的
隱藏元素怎么定位,UI自動(dòng)化測試,selenium,selenium,測試工具
?
元素的屬性隱藏和顯示,主要是 type="hidden"和 style="display: none;"屬性來控制的,接下來在元素屬性里面讓它隱藏
<!DOCTYPE html>
	<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>Title</title>
	</head>

	<body>
		<p>這里有個(gè)按鈕,是隱藏的
		<!-- type="hidden" -->
		<br>
			輸入賬號(hào)<input id="chi" name="hello" type="hidden">

		<!-- style="display: none;" -->
		<br>
		<button id="fan" name="heo" style="display: none;">登錄</button>
		<br>
		<a hidden id="baidu" >訪問百度</a>
		</p>
	</body>
</html>
結(jié)果如下:
隱藏元素怎么定位,UI自動(dòng)化測試,selenium,selenium,測試工具

三、定位隱藏元素

隱藏元素用普通元素定位方法——可以定位到!

webDriver.get("file:front/display.html");
WebElement chi = webDriver.findElement(By.id("chi"));

//獲取元素屬性
System.out.println(chi.getAttribute("name"));//hello

//查看元素是否隱藏
System.out.println(chi.isDisplayed());//false

//運(yùn)行結(jié)果可以看出,隱藏元素用普通定位方法一樣可以定位到!

四、操作隱藏元素

隱藏元素可以正常定位到,只是不能操作(定位元素和操作元素是兩碼事,操作元素是 click,clear,send_keys 這些方法
隱藏元素怎么定位,UI自動(dòng)化測試,selenium,selenium,測試工具

用隱藏元素的sendKeys 和 click 方法都會(huì)報(bào)錯(cuò):ElementNotInteractableException: element not interactable,元素不可交互,不可以被操作。

首先 selenium 是無法操作隱藏元素的(但是能正常定位到),本身這個(gè)框架就是設(shè)計(jì)如此,如果非要去操作隱藏元素,那就用 js 的方法去操作,selenium 提供了一個(gè)入口 可 以 執(zhí)行 js 腳 本。

js 和 selenium 不同,頁面上有的元素(在 dom 里面的),都能正常的操作, 可以詳看前面的js篇

js操作隱藏元素
<a hidden id="baidu" >訪問百度</a> 這個(gè)鏈 接是隱藏的,但是能用 js 點(diǎn)到
 //js點(diǎn)擊 hidden 元素 百度
        WebElement element = webDriver.findElement(By.id("baidu"));
        JavascriptExecutor javascriptExecutor = webDriver;
        javascriptExecutor.executeScript("arguments[0].click()",element);
運(yùn)行完之后,頁面正常的點(diǎn)擊,跳轉(zhuǎn)到百度頁面了
?? 也可以先用 js 去掉 hidden 屬性,再用 selenium 操作,但是可以直接js點(diǎn)擊,何必多此一舉~

五、display:none 和 visibility:hidden 和 type ="hidden"

  • visibility: hidden----將元素隱藏,但是在網(wǎng)頁中該占的位置還是占著。
    • 例如有三個(gè)table,將中間的一個(gè)table hidden掉,你會(huì)發(fā)現(xiàn)在那個(gè)被hidden的table看不見了,但是,中間會(huì)留有很大的一空白,而這個(gè)空白就是這個(gè)table沒有被隱藏時(shí)所占的位置;

  • display: none----將元素的顯示設(shè)為無,即在網(wǎng)頁中不占任何的位置?!猧sDisplayed() =false
    • 例如有三個(gè)table,將中間的一個(gè)table none掉,你會(huì)發(fā)現(xiàn)在剩下的兩個(gè)table中間不會(huì)有任何的空白。就好像中間的那個(gè)table從來不存在過一樣。

    • 而none的作用更像是把元素從網(wǎng)頁中“去除”(當(dāng)然不是真的去除,只是效果是如此)

  • type ="hidden"和上面兩個(gè)不一樣,它叫做隱藏域,作為input 的一種輸入類型,它的特點(diǎn)就是“看不見”;——isDisplayed() =false
    • 在表單插入中隱藏域的目的在于收集和發(fā)送信息,以利于被處理表單的程序所使用

    • 注:隱藏只是在網(wǎng)頁頁面上不顯示輸入框,但是雖然隱藏了,還是具有form傳值功能。一般用來傳值,而不必讓用戶看到。

    • 它可以隱藏有用但又不能讓瀏覽者看到的信息。文章來源地址http://www.zghlxwxcb.cn/news/detail-846899.html

到了這里,關(guān)于【Selenium】隱藏元素的定位和操作|隱藏與isDisplay方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • selenium元素定位與操作

    說明:本篇博客基于selenium 4.1.0 在selenium中,想要對(duì)元素進(jìn)行操作,一般需要如下步驟: 在瀏覽器中查看元素屬性,便于selenium在頁面中找到該元素 在代碼中創(chuàng)建元素對(duì)象 元素操作、獲取元素信息 方法1:右鍵-檢查 方法2:設(shè)置-更多工具-開發(fā)者模式 方法3:默認(rèn)快捷鍵F12 出

    2024年02月15日
    瀏覽(22)
  • selenium【元素定位與操作】

    定位元素 [@屬性=‘屬性值’] [@屬性] [tag] [text()=‘文本’] 返回的是元素兩個(gè)間的文本 [contains(text(),“元素兩個(gè)間的部分文本”)] [contains(@屬性名,“部分屬性值”)] 定位下拉列表的某個(gè)選項(xiàng):driver.find_element(By.XPATH,‘//option[text()=“聯(lián)想”]’) driver.find_element(By.XPATH,‘//o

    2024年04月18日
    瀏覽(45)
  • selenium頁面元素定位、操作

    selenium頁面元素定位、操作

    ?? 1、通過頁面開發(fā)者工具(點(diǎn)擊鍵盤F12或者空白處右擊點(diǎn)擊檢查)中的element,查看頁面html代碼; 2、點(diǎn)擊開發(fā)者工具左上角鼠標(biāo)按鈕; 3、鼠標(biāo)移動(dòng)至需要定位元素位置; 4、高亮顯示; 5、右擊選擇定位方式。 1 打開 / 關(guān)閉瀏覽器 注意: 關(guān)閉瀏覽器close和quit的區(qū)別: 以

    2023年04月08日
    瀏覽(24)
  • selenium元素定位方式及常用操作

    selenium元素定位方式及常用操作

    要想操作一個(gè)對(duì)象,首先應(yīng)該識(shí)別這個(gè)對(duì)象。 定位方式有很多,但是要保證這種方式存在,且能夠唯一的定位到這個(gè)元素。 1、用 id 來定位 優(yōu)先選擇 ※ 首先在 Chrome 瀏覽器上把鼠標(biāo)放到搜索框,鼠標(biāo)右擊選擇開發(fā)者模式(快捷鍵:f12),查看對(duì)應(yīng) id 名 2、用 name 來定位 在開

    2024年02月02日
    瀏覽(32)
  • 自學(xué)Python 69 Selenium八大元素定位方法(新版BY方法)_selenium定位元素的方法和優(yōu)缺點(diǎn)

    自學(xué)Python 69 Selenium八大元素定位方法(新版BY方法)_selenium定位元素的方法和優(yōu)缺點(diǎn)

    文章目錄 Python Selenium八大元素定位方法(新版BY方法) 前言 一、常用的八種定位方法(新舊對(duì)比) 二、查看網(wǎng)頁元素 三、八大元素定位示例 1、id定位 2、name定位 3、class定位 4、tag定位 5、link定位 6、partial_link定位 7、xpath定位 8、CSS定位 在學(xué)習(xí)使用Selenium對(duì)網(wǎng)頁元素進(jìn)行定位時(shí)

    2024年04月22日
    瀏覽(23)
  • Selenium定位不到元素怎么辦?一定要這么做

    Selenium定位不到元素怎么辦?一定要這么做

    在使用Selenium進(jìn)行自動(dòng)化測試時(shí),碰到無法定位元素該怎么辦?這里總結(jié)了9種情況下的元素定位方法: 1、frame/iframe表單嵌套 WebDriver只能在一個(gè)頁面上對(duì)元素識(shí)別與定位,對(duì)于frame/iframe表單內(nèi)嵌的頁面元素?zé)o法直接定位。 解決方法: switch_to.frame() 默認(rèn)可以直接取表單的id或

    2024年03月15日
    瀏覽(73)
  • (三) selenium元素定位和常用操作(下)

    (三) selenium元素定位和常用操作(下)

    上一篇:(二) selenium元素定位(上)_要開朗的spookypop的博客-CSDN博客 本篇繼續(xù)介紹常用的元素定位和常用操作。 通過鏈接文本定位 alerts彈窗 瀏覽器窗口操作 1、通過鏈接文本定位 上圖是一個(gè)返回首頁的鏈接,點(diǎn)擊后跳轉(zhuǎn)到首頁,元素定位關(guān)鍵代碼: driver.find_element(By.LINK_TEXT,

    2024年02月11日
    瀏覽(19)
  • selenium定位元素(包括父子,兄弟)及常見操作

    id定位:find_element_by_id() name定位:find_element_by_name() class定位:find_element_by_class_name() link定位:find_element_by_link_text() partial link定位:find_element_by_partial_link_text() tag定位:find_element_by_tag_name() xpath定位:find_element_by_xpath() css定位:find_element_by_css_selector() .表示當(dāng)前節(jié)點(diǎn),…表示父

    2023年04月08日
    瀏覽(41)
  • Selenium元素定位方法大全

    Selenium元素定位方法大全

    作為當(dāng)下最流行的web UI自動(dòng)化測試工具,selenium是很多測試同學(xué)入門接觸自動(dòng)化測試時(shí)學(xué)習(xí)的第一個(gè)工具。想要自動(dòng)化操作頁面上的內(nèi)容,元素定位是首先必須要學(xué)習(xí)的核心知識(shí)。 因此本文主要介紹selenium的幾種最常用的元素定位方法,掌握了這些方法,希望能幫助大家快速

    2024年02月02日
    瀏覽(29)
  • selenium定位元素方法

    1、通過id定位元素 寫法1: element = driver.find_element_by_id(\\\"kw\\\") 寫法2: from selenium.webdriver.common.by import By element = driver.find_element(by=By.ID, value=\\\"kw\\\") Tips: by=By.ID表示以id的方式定位web元素,下面的例子有類似的寫法以此類推 2、通過class定位元素 寫法1: cheeses = driver.find_elements_by_clas

    2023年04月25日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包