最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

selenium報(bào)錯(cuò)Element is not clickable at point及四種解決方法

2023-03-16 15:51 作者:眾創(chuàng)云  | 我要投稿

selenium報(bào)錯(cuò)Element is not clickable at point及四種解決方法

使用Selenium時(shí),觸發(fā)點(diǎn)擊事件,經(jīng)常報(bào)如下異常:
Element is not clickable at point
?

1、未加載
沒(méi)加載出來(lái)就等待元素加載出來(lái),再往下執(zhí)行。
可以使用python庫(kù)time

不過(guò)最好還是使用selenium自帶WebDriverWait

2、在iframe里
如果元素在iframe里,在窗口里找是找不到元素的,更是無(wú)法點(diǎn)擊。所以,要切換到iframe里去找元素。

3、不在視窗里,需要拉滾動(dòng)條
很多網(wǎng)站的列表頁(yè)不是立馬返回所有內(nèi)容,是根據(jù)視圖來(lái)顯示的。所以,我們就需要拖動(dòng)滾動(dòng)條來(lái)把要獲取的內(nèi)容顯示到視窗里才可以獲取到。

js="var q=document.documentElement.scrollTop=100000"?? driver.execut_script(js)

#滑動(dòng)到頂部??? js="var q=document.documentElement.scrollTop=0"??? driver.execut_script(js)

#滑到底部??? js="window.scrollTo(0,100000)"???? driver.execute_script(js)

#滑動(dòng)到頂部??? js="window.scrollTo(0,0)"????? driver.execute_script(js)

目前在firefox,chrome上驗(yàn)證都是可以跑通的

4、要點(diǎn)擊的元素被覆蓋
可以使用事件鏈來(lái)解決
例如下拉菜單,通過(guò)hover,讓子菜單顯示,就可以點(diǎn)擊了。

menu = driver.find_element_by_css_selector(".nav")
hidden_submenu = driver.find_element_by_css_selector(".nav #submenu1")

ActionChains(driver).move_to_element(menu).click(hidden_submenu).perform()

5、要點(diǎn)擊的元素被遮擋

如圖:無(wú)法點(diǎn)擊go,被前面的懸浮元素遮擋




3. 解決方案

現(xiàn)在我們已經(jīng)了解到錯(cuò)誤的原因,接下來(lái)我們來(lái)聊聊解決方案,如果元素被擋住的話有兩種情況:

  1. 遮擋是臨時(shí)的
    在這種情況下,我們可以添加等待,等待元素可被點(diǎn)擊。具體方法可參考?Selenium系列教程 - 解讀selenium等待方式?和?Selenium系列教程 - WebDriverWait 詳解以及自定義判斷條件?。
    WebDriverWait(driver, 10).until(EC.element_to_be_clickable(("id", "su")))

  2. 遮擋是永久的
    在這種情況下,我們可以調(diào)用 JavaScript 直接在元素上發(fā)送單擊。調(diào)用 JavaScript 可參考?Selenium系列教程 - 調(diào)用JavaScript?。
    driver.execute_script("arguments[0].click()", element)?(此為通用的解決方法)


selenium報(bào)錯(cuò)Element is not clickable at point及四種解決方法的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
牡丹江市| 兰坪| 江山市| 钟祥市| 若尔盖县| 东乌珠穆沁旗| 南丰县| 屏东市| 东乌珠穆沁旗| 瑞金市| 龙州县| 元朗区| 当雄县| 施甸县| 中山市| 湘潭市| 渭源县| 舟山市| 若尔盖县| 临汾市| 富源县| 宿迁市| 拉萨市| 仙游县| 广汉市| 临颍县| 玛沁县| 江油市| 古浪县| 岳阳县| 赞皇县| 信阳市| 盱眙县| 通渭县| 湾仔区| 色达县| 大洼县| 开远市| 铁岭县| 丹寨县| 阜平县|