selenium測試無法定位到網頁元素,可能有以下原因


1、元素未加載完成,可以設置個等待時間

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

driver.switch_to_frame("frameName")  # 根據框架名來切換

driver.switch_to_frame("frameName.0.child")  # 子框架

driver.switch_to_default_content()  # 返回

3、要點擊的元素被覆蓋,用enter代替click

driver.find_element_by_css_selector("div.loginForm>input#loginBtn").send_keys(Keys.ENTER)

4、不在視窗里,需要拉滾動條,方法如下

A.讓滾動條定位到指定元素位置

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()

B.嘗試下拉一段滾動條,讓按鈕能看到

js = "window.scrollTo(100,450)"

driver.execute_script(js)

driver.find_element_by_css_selector("div.loginForm>input#loginBtn").click()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM