Selenium操作隱藏的元素及問(wèn)題解決方案
在工作中我們會(huì)遇到一些隱藏的元素,那么selenium就會(huì)無(wú)法操作這些元素了,例如像這樣:

我試著像以前操作一樣,寫了代碼,操作之后報(bào)錯(cuò):selenium.common.exceptions.NoSuchElementException: Message: Could not locate element with visible text: male
解決方法:
我們可以通過(guò)js來(lái)使元素可見(jiàn),代碼如下:
# document.querySelectorAll("select") 選擇所有的select。
# [1] 指定這一組標(biāo)簽里的第2個(gè)。
# style.display="block"; 修改樣式的display="block" ,表示可見(jiàn)。
js = 'document.querySelectorAll("select")[1].style.display="block";'
driver.execute_script(js) 再舉一個(gè)例子,該例子是輸入框隱藏了;具體HTML如下:
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>Checkbox</title>
<script type="text/javascript" async="" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<link rel="external nofollow" rel="stylesheet" />
<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
</head>
<title>定位演示</title>
<script>
function gettext(){
var url = document.getElementById("urlAdd").value;
window.location.href=url;
}
</script>
<body>
請(qǐng)輸入網(wǎng)站:<input style="display:none" type="text" id="urlAdd" />
<button οnclick="gettext()" id= "ok" >跳轉(zhuǎn)</button>
</body>
</html>python實(shí)現(xiàn)方式一:
# 1. 確定js
js = "document.getElementById('urlAdd').value = 'https://baike.baidu.com/'"
# 2. 執(zhí)行js
driver.execute_script(js)
# 點(diǎn)擊跳轉(zhuǎn)
driver.find_element_by_id("ok").click()
time.sleep(5)python實(shí)現(xiàn)方法二:
# 1. 確定js
js = 'document.getElementById("urlAdd").style.display="block";'
# 2. 執(zhí)行js
driver.execute_script(js)
driver.find_element_by_id("urlAdd").send_keys("https://www.baidu.com")
# 點(diǎn)擊跳轉(zhuǎn)
driver.find_element_by_id("ok").click()
time.sleep(5)假如面試官問(wèn)我們?nèi)绾味ㄎ浑[藏元素以及如何操作?
回答:定位元素的話,直接用普通的定位方法即可,只是在操作元素上有些差異,需要用js去進(jìn)行操作。
到此這篇關(guān)于Selenium操作隱藏的元素的文章就介紹到這了,更多相關(guān)Selenium操作隱藏的元素內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
200行python代碼實(shí)現(xiàn)2048游戲
這篇文章主要為大家詳細(xì)介紹了200行Python代碼實(shí)現(xiàn)2048游戲,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07
自動(dòng)化Nginx服務(wù)器的反向代理的配置方法
這篇文章主要介紹了自動(dòng)化Nginx服務(wù)器的反向代理的配置方法,反向代理是Nginx服務(wù)器的招牌功能,需要的朋友可以參考下2015-06-06
pycharm如何使用anaconda中的各種包(操作步驟)
這篇文章主要介紹了pycharm如何使用anaconda中的各種包,本文通過(guò)操作步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
Python中json模塊load/loads方法實(shí)戰(zhàn)以及參數(shù)詳解
經(jīng)常在Python中對(duì)JSON格式的文件進(jìn)行操作,今天對(duì)這些操作做一個(gè)總結(jié),下面這篇文章主要給大家介紹了關(guān)于Python中json模塊load/loads方法實(shí)戰(zhàn)以及參數(shù)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
你需要學(xué)會(huì)的8個(gè)Python列表技巧
這篇文章主要介紹了8個(gè)常用的Python列表技巧,文中講解非常詳細(xì),幫助大家更好的學(xué)習(xí)Python,感興趣的朋友可以了解下2020-06-06

