關於python中selenium獲取不到跳轉頁面的元素問題解決


問題詳述:

事情是這樣式的,最近接收一個新項目做UI自動化,在編寫腳本時發現登錄定位不到登錄成功頁面的元素信息,嘗試了各種定位方式都不行,最后發現因為頁面是帶js渲染的網頁,所以根本就沒加載登入成功的HTML代碼!!哭暈在廁所。

雖然找到了原因,但想要解決在網上也是查詢了各種方法,爬過了各種坑,最后終於找到一種解決方式,在此記錄一下,方便以后查閱。

# !/usr/bin/env python
# -*- coding: UTF-8 –*-
__author__ = 'Mr.Li'

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

driver = webdriver.Chrome()
driver.maximize_window()
driver.get('http://service.yunfuw.beta/login')

p = driver.find_element_by_xpath("//input[@class='el-input__inner']")
p.send_keys('xiaoming')
driver.find_element_by_xpath("//input[@placeholder='密碼']").send_keys('admin1')
driver.find_element_by_xpath("//button[@class='el-button login-btn el-button--primary']").click()

#跳轉到當前html頁面,此時在進行定位就可以了
driver.switch_to.window(driver.window_handles[0])

html = driver.page_source
print(html)

 注意:driver.switch_to.window(driver.window_handles[0])跳轉時有可能句柄還為加載,最好在前面加一個sleep()等待


免責聲明!

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



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