python自動化:懸浮窗內的按鈕定位不到怎麼辦?別慌,一個方法輕鬆解決

使用selenium做網頁自動化,經常會遇到各種各樣定位不到數據問題。今天根據親身經歷介紹2個定位不到元素問題的解決方法

1. 懸浮窗內按鈕

 

鼠標移動到懸浮窗部分才能夠顯示操作按鈕,這種控件直接找必然是找不到的

解決方法:

1. 增加一步鼠標操作:將鼠標移動到所需要定位元素的位置,懸停之後,再找元素

關鍵詞:ActionChains,鼠標操作對應的方法集合,詳細內容可以在selenium介紹文檔中找~

推薦博文:https://blog.csdn.net/weixin_36279318/article/details/79475388    【轉載】

from selenium.webdriver import ActionChains
test = driver.find_element_by_id('GGGG') # 控件所在元素位置
ActionChains(driver).move_to_element(test).perform() # 將鼠標移動待元素上

並且在測試的過程中,鼠標放一邊別亂動了~~亂動了就可能定位不到了~

 

2. 動態彈窗

這種並不是iframe格式,打開開發工具可以看到,他的代碼在整個h5中的最下方,好理解就叫他動態彈窗。動態的內容,使用Xpath的方式獲取就不太明智了,需要修改使用class、ID等固定內容獲取,精確性更好。

但是class和ID就可能存在相似的情況。所以需要查看到底有多個“同名”元素,然後看使用的是哪一個。

Choose_Operates = driver.find_elements_by_class_name('el-popper') # 定位所有同名元素
Operates = Choose_Operates[-1].find_elements_by_tag_name('li') # 使用需要的元素進行後續操作
Operates[2].click()

總結:

定位元素慢慢來,找不到也不奇怪。iframe和彈窗,定位之前先跳轉。

動態元素用id/class,不變元素用Xpath。鼠標操作靈活用,實在找不到就用try。

 

都看到和了,不點贊評論,不覺得對不起自己麼?                                

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章