操作多窗口的原因:selenium 默認(rèn)焦點(diǎn)在啟動(dòng)窗口,要操作其他窗口必須進(jìn)行切換窗口 (句柄是指窗口的唯一標(biāo)識)
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By
# 1. 獲取瀏覽器
driver = webdriver.Chrome()
# 2. 打開瀏覽器 輸入url
driver.get("")
# 封裝
def switch_window(title):
# 1. 獲取所有窗口句柄
handles = driver.window_handles
# 2. 遍歷句柄進(jìn)行切換
for handle in handles:
# 操作
driver.switch_to.window(handle)
# 獲取當(dāng)前窗口title 并且判斷是否自己需要的窗口
if driver.title == title:
# 操作代碼
return "已經(jīng)找到{}窗口,并且已經(jīng)切換成功".format(title)
title_A = "注冊A"
title_B = "注冊B"
# 打開注冊A和注冊B網(wǎng)頁
driver.find_element(By.LINK_TEXT, "注冊A網(wǎng)頁").click()
driver.find_element(By.LINK_TEXT, "注冊B網(wǎng)頁").click()
# 填寫注冊A網(wǎng)頁用戶名
switch_window(title_A)
driver.find_element(By.CSS_SELECTOR, "#user1").send_keys("root")
# 填寫注冊B網(wǎng)頁用戶名
switch_window(title_B)
driver.find_element(By.CSS_SELECTOR, "#user2").send_keys("root")
# 4. 關(guān)閉瀏覽器
sleep(13)
driver.quit()
擴(kuò)展題:
在執(zhí)行UI自動(dòng)化時(shí),如果找不到元素,分析有哪些原因?
答:1、元素定位代碼是否正確
2、是否是匹配到唯一元素
3、是否有做元素等待
4、是否需要鼠標(biāo)懸浮
5、元素是否在新窗口文章來源:http://www.zghlxwxcb.cn/news/detail-502725.html
6、元素是否在于iframe(框架?)標(biāo)簽中文章來源地址http://www.zghlxwxcb.cn/news/detail-502725.html
到了這里,關(guān)于Selenium - 如何進(jìn)行多個(gè)窗口操作?的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!