python+selenium 定位到元素,無法點擊的解決方法
報錯
selenium.common.exceptions.WebDriverException: Message: Element is not clickable at point (234.75, 22). Other element would receive the click: <img class="logo" src="/public/desktop/common/img/game_logo.png">
需要點擊的按鈕頁面顯示不了,需要下拉滾動條,能看到按鈕了才能點
1、嘗試下拉一段滾動條,讓按鈕能看到
js = "window.scrollTo(100,450)" driver.execute_script(js) driver.find_element_by_css_selector("div.loginForm>input#loginBtn").click()
OK,能點到了
2、不是下拉加載的頁面,用方法一有點傻,嘗試讓滾動條定位到指定元素位置
the_loginBtn = driver.find_element_by_css_selector("div.loginForm>input#loginBtn") ActionChains(driver).move_to_element(the_loginBtn).perform() driver.find_element_by_css_selector("div.loginForm>input#loginBtn").click()
ok,滾動到元素位置了。但是這個按鈕在頁面頂格顯示,這個頁面有導航欄,要點擊的按鈕被固定的導航欄擋住了。還是報錯。
3、元素被覆蓋,無法點擊
用Enter代替click
driver.find_element_by_css_selector("div.loginForm>input#loginBtn").send_keys(Keys.ENTER)
要導入from selenium.webdriver.common.keys import Keys,不然用不了
發(fā)現(xiàn)用Enter代替click后,如果不是下拉加載的頁面的話,不用下拉滾動條就能用enter點到
以上這篇python+selenium 定位到元素,無法點擊的解決方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python學習之使用Matplotlib畫實時的動態(tài)折線圖的示例代碼
這篇文章主要介紹了python學習之使用Matplotlib畫實時的動態(tài)折線圖的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-02-02Python數(shù)據(jù)結(jié)構(gòu)與算法之鏈表定義與用法實例詳解【單鏈表、循環(huán)鏈表】
這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)與算法之鏈表定義與用法,結(jié)合具體實例形式較為詳細的分析了單鏈表、循環(huán)鏈表等的定義、使用方法與相關(guān)注意事項,需要的朋友可以參考下2017-09-09關(guān)于Flask項目無法使用公網(wǎng)IP訪問的解決方式
今天小編就為大家分享一篇關(guān)于Flask項目無法使用公網(wǎng)IP訪問的解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11Linux RedHat下安裝Python2.7開發(fā)環(huán)境
這篇文章主要為大家詳細介紹了Linux RedHat下安裝Python2.7、pip、ipython環(huán)境、eclipse和PyDev環(huán)境,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05淺談Python由__dict__和dir()引發(fā)的一些思考
這篇文章主要介紹了淺談Python由__dict__和dir()引發(fā)的一些思考,具有一定參考價值,需要的朋友可以了解下。2017-10-10