Selenium python+selenium 线性自动化练习,发现登陆界面前后共用一个句柄

Qiujier2 · 2023年02月20日 · 3089 次阅读

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
driver=webdriver.Chrome()
driver.get("https://www.zhixi.com/")
driver.implicitly_wait(10)
# 获取原网页的句柄
print(driver.current_window_handle)
# 点击 “登陆/注册” 按钮,进入登陆界面
driver.find_element(By.XPATH,'//[@id="__next"]/div[1]/div/nav/button/span').click()
sleep(3)
# 点击” 账号登陆 “,打开账号,密码入口
driver.find_element(By.XPATH,"/html/body/div[3]/div/div[2]/div/div[2]/div/div[2]/div/div[1]/span[2]").click()
sleep(3)
# 点击并输入账号
driver.find_element(By.XPATH,'//input[@id="normal_login_account"]').send_keys("13372052。。")
sleep(2)
# 点击并输入密码 (怕人搞我,用。。隐藏一下)
driver.find_element(By.XPATH,'//input[@id="normal_login_password"]').send_keys("wtf23380139。。")
sleep(2)
# 点击登陆按钮
driver.find_element(By.XPATH,'//
[@id="normal_login"]/div[4]/div/div/div/button').click()
sleep(5)
url1=driver.current_url
# 确认句柄还在原界面
print(driver.current_window_handle)
# 获取所有句柄
handles=driver.window_handles
print(handles)
#driver.switch_to.window(handles[1])

if url1=='https://www.zhixi.com/space?page=owner:'

print("该用例通过了欧,你真 TM 是个鬼才")

else:

print("你最好能解决这个问题")

sleep(5)

driver.close()
运行后:
CDwindow-40DD5D14B687D790E1F9B118D0F88940(这是原界面)
CDwindow-40DD5D14B687D790E1F9B118D0F88940(这是确认句柄在原界面)
['CDwindow-40DD5D14B687D790E1F9B118D0F88940'(这是输入账号密码后登陆成功进入的所有句柄)

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册