python selenium 下拉框 页面变化_【03篇】python+seleniumWeb自动化:三类等待,多窗口切换,警告框处理,下拉框选择...

一、前言

最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新!

这是python+selenium实现Web自动化第三篇博文

三、Selenium之-元素等待自动化测试中的三类等待深入剥析_长沙逍遥子的专栏-CSDN博客​blog.csdn.net

四、Selenium之-多窗口切换

在页面操作过程中有时候点击某个链接会弹出新的窗口,这时就需要主机切换到新打开的窗口上进行操作。webdriver 中的 switch_to.window() 方法,可以实现在不同窗口之间切换。current_window_handle:获得当前窗口句柄

window_handles:返回所有窗口的句柄到当前会话

switc_to.window():用于切换到相应的窗口

#!/usr/bin/env python

# -*- encoding: utf-8 -*-

"""@Time : 2020/4/15@License : (C)Copyright 2017-2019, Micro-Circle@Desc : None"""

from selenium import webdriver

import time

base_url = 'https://www.baidu.com/'

browser = webdriver.Chrome('../tools/chromedriver.exe')

# 隐式等待10秒

browser.implicitly_wait(10)

browser.get(base_url)

# 获得搜索窗口的句柄

search_windows = browser.current_window_handle

browser.find_element_by_link_text('登录').click()

browser.find_element_by_link_text('立即注册').click()

# 活得当前打开窗口的句柄

all_handles = browser.window_handles

# 进入注册窗口

for handle in all_handles:

if handle != search_windows:

browser.switch_to.window(handle)

print('now register window!')

browser.find_element_by_name('account').send_keys('username')

browser.find_element_by_name('password').send_keys('password')

time.sleep(2)

browser.quit()

五、Selenium之-警告框处理

在 webdriver 中处理 JavaScript 所生成的 alert、confirm 以及 prompt 十分简单,具体做法是使用 switch_to.alert 方法定位到 alert/confirm/prompt,然后使用 text/accept/dismiss/ send_keys 等方法进行操作。text:返回 alert/confirm/prompt 中的文字信息。

accept():接受现有警告框。

dismiss():解散现有警告框。

send_keys(keysToSend):发送文本至警告框。keysToSend:将文本发送至警告框。

#!/usr/bin/env python

# -*- encoding: utf-8 -*-

"""@Time : 2020/4/15@License : (C)Copyright 2017-2019, Micro-Circle@Desc : None"""

from selenium import webdriver

from selenium.webdriver.common.action_chains import ActionChains

import time

base_url = 'https://www.baidu.com/'

driver = webdriver.Chrome('../tools/chromedriver.exe')

driver.implicitly_wait(10)

driver.get(base_url)

# 鼠标悬停至 “设置” 链接

link = driver.find_element_by_link_text('设置')

ActionChains(driver).move_to_element(link).perform()

# 打开搜索设置

driver.find_element_by_link_text('搜索设置').click()

time.sleep(3)

# 点击 “搜索设置”

driver.find_element_by_class_name('prefpanelgo').click()

time.sleep(3)

# 接受警告框prefpanelgo

driver.switch_to.alert.accept()

time.sleep(3)

driver.quit()

六、Selenium之-下拉框处理

webdriver 提供了 Select 类来处理下拉框。

#!/usr/bin/env python

# -*- encoding: utf-8 -*-

"""@Time : 2020/4/15@License : (C)Copyright 2017-2019, Micro-Circle@Desc : None"""

from selenium import webdriver

from selenium.webdriver.support.select import Select

from time import sleep

base_url = 'https://www.baidu.com/'

driver = webdriver.Chrome('../tools/chromedriver.exe')

driver.implicitly_wait(10)

driver.get(base_url)

# 鼠标悬停至“设置”链接

driver.find_element_by_name('设置').click()

sleep(2)

# 打开 “搜索设置”

driver.find_element_by_name('搜索设置').click()

sleep(2)

# 搜索结果显示条数

# Select类用于定位select标签。

sel = driver.find_element_by_xpath("//select[@id='nr']")

# select_by_value() 方法用于定位下接选项中的value值。

Select(sel).select_by_value('50')

driver.quit()

七、Selenium成套博文地址,总有你需要的:

如果你觉得此文对你有帮助,如果你对此文有任何疑问,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣请拉到最上面关注笔者的名字!

一箭三雕:如果你觉得本文对你有帮助,请关注,赞同,分享三连!谢谢!

作者出处:逍遥子:【03篇】python+seleniumWeb自动化:三类等待,多窗口切换,警告框处理,下拉框选择

转载声明:欢迎转载,但未经作者同意请保留此段声明,并在文章明显位置给出原文链接。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值