用python实现窗口跳转_文章:Python+selenium实现UI自动窗口跳转的实例,随笔,pythonselenium,进行,自动化...

该博客展示了使用Python的Selenium库进行自动化登录操作的详细步骤,包括设置Chrome选项以防止自动化提示,输入用户名和密码,点击登录按钮,并在登录后进行页面元素查找和窗口切换。测试过程中检查了登录后的页面内容,确保了用户名的正确显示。
摘要由CSDN通过智能技术生成

#coding = utf-8

import unittest

from selenium import webdriver

from time import sleep

from selenium.webdriver.common.action_chains import ActionChains

class Truelogin(unittest.TestCase):

@classmethod

def setUpClass(cls):

print("***开始进行登录***")

def setUp(self):

# 屏蔽自动化受控提示 && 开发者提示

self.option = webdriver.ChromeOptions()

self.option.add_experimental_option("excludeSwitches", ['enable-automation', 'load-extension'])

# 屏蔽'保存密码'提示框

self.prefs = {}

self.prefs["credentials_enable_service"] = False

self.prefs["profile.password_manager_enabled"] = False

self.option.add_experimental_option("prefs", self.prefs)

# 打开谷歌浏览器

self.driver = webdriver.Chrome(options=self.option)

# 窗口最大化

self.driver.maximize_window()

sleep(5)

#打开登录界面

self.driver.get("ur")

sleep(5)

def testcloudAIlogin(self):

self.driver.switch_to.frame(0)

self.driver.find_element_by_xpath("//input[@id='username']").send_keys("用户名")

self.driver.find_element_by_xpath("//input[@id='password']").send_keys("密码*")

self.driver.find_element_by_xpath("//div[@class='button']/a[@id='loginbtn']").click()

sleep(5)

# 获取当前窗口的句柄

self.window1 = self.driver.current_window_handle

#搜索框输入系统名称

self.driver.find_element_by_css_selector("input#search-keyword").send_keys("名称")

sleep(2)

ActionChains(self.driver).move_to_element(self.driver.find_element_by_xpath("//a/span[text()='名称']")).perform()

self.driver.find_element_by_xpath("//a/span[text()='名称']").click()

sleep(10)

# 获取所有窗口的句柄

self.all_handles = self.driver.window_handles

sleep(5)

for self.handle in self.all_handles:

if self.handle != self.window1:

self.driver._switch_to.window(self.handle)

print("***这是新窗口***")

sleep(2)

self.assertEqual("用户名",self.driver.find_element_by_xpath("//div[text()='用户名']").text)

sleep(2)

print("***登录完成***")

def tearDown(self):

self.driver.quit()

print("***测试用例结束***")

@classmethod

def tearDownClass(cls):

print("***一次测试结束***")

if __name__ == '__main__':

unittest.main()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值