# coding: utf-8

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep # 去掉"Chrome正受到自动测试软件的控制。"
options = webdriver.ChromeOptions()
options.add_argument('disable-infobars')
driver = webdriver.Chrome(chrome_options=options)
driver.get("https://www.baidu.com/")
# 鼠标移动到设置
ActionChains(driver).move_to_element(driver.find_element_by_xpath(".//*[@id='u1']/a[8]")).perform()
sleep(2)
driver.find_element_by_xpath(".//*[@id='wrapper']/div[6]/a[1]").click()
sleep(2)
# 修改每页显示条数--1、定位到下拉框
driver.find_element_by_xpath(".//*[@id='nr']").click()
# 点击下拉框选项
driver.find_element_by_xpath(".//*[@id='nr']/option[2]").click()
sleep(2)
# 点击保存设置
driver.find_element_by_xpath(".//*[@id='gxszButton']/a[1]").click()
sleep(2)
alert = driver.switch_to.alert
print alert.text
alert.accept()

对于下拉框最简单的处理就是两次定位——先定位下拉框->点击,弹出下拉框内容->定位下拉框里面的选项。

上面代码后面的弹出框就是alert(提醒),可以先driver.switch_to.alert切换到alert,然后:

  • alert.text  ——打印alert内容

  • alert.accept()  ——点击确定

  • alert.dismiss()  ——点击取消(如果有)

微信公众号搜索“自动化测试实战”或扫描下方二维码添加关注~~~

《selenium2 python 自动化测试实战》(10)——下拉框和alert的更多相关文章

  1. selenium2 python自动化测试实战(回归测试)

    selenium2 python自动化测试实战 最近接手商城的项目,针对后台测试,功能比较简单,但是流程比较繁多,涉及到前后台的交叉测试.在对整个项目进行第一轮测试完成之后,考虑以后回归测试任务比较重 ...

  2. 船长带你看书——《selenium2 python 自动化测试实战》(1)

    有很多selenium的教程,你没有从头看,当你看的时候已经很难跟上作者的节奏了.现在,你有机会再从头学一次了.从今天开始,船长会从最基本的知识开始,和大家一起学selenium.能不能跟着一起就看大 ...

  3. python+webdriver,选取Select下拉框中的值

    在选择下拉框中的值时遇到了困难,用driver.find_element_by_id("").send_keys("")进行赋值不能成功获取下拉框中的值.   ...

  4. python+selenium七:下拉框、选项框、select用法

    # from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsimpo ...

  5. python selenuim如何判断下拉框是否加载出来,超过时间不再等待

    s_flag = True time_start = time.time() while s_flag: doc = etree.HTML(unicode.encode(driver.page_sou ...

  6. Selenium2+Python自动化测试实战

    本人在网上查找了很多做自动化的教程和实例,偶然的一个机会接触到了selenium,觉得非常好用.后来就在网上查阅各种selenium的教程,但是网上的东西真的是太多了,以至于很多东西参考完后无法系统的 ...

  7. 《selenium2 python 自动化测试实战》(15)——调用js控制滚动条等操作

    看代码: # coding=utf-8 from time import sleepfrom selenium import webdriver driver = webdriver.Firefox( ...

  8. 《selenium2 python 自动化测试实战》(14)——下载文件

    说下载文件之前,我再和大家说一下用cookie登录的事,既然我们用cookie登录,那么传过去的cookie肯定是要和对应的网站完全一致的,注意,是包括大小写哦,本来我也是不知道,我用这个方法登录自己 ...

  9. 《selenium2 python 自动化测试实战》(8)——定位iframe

    我们来看一段最早的代码: # coding: utf-8 from selenium import webdriverfrom time import sleep driver = webdriver ...

随机推荐

  1. RabbitMQ 与 AMQP路由

    概述 RabbitMQ(MQ 为 MessageQueue) 是一个消息队列,主要是用来实现应用程序的异步和解耦,同时起到消息缓冲.消息分发作用 消息队列 消息(Message)是指应用间传送的数据, ...

  2. 30分钟掌握Dart语言

    在Dart中,一切都是对象,一切对象都是class的实例,哪怕是数字类型.方法甚至null都是对象,所有的对象都是继承自Object 虽然Dart是强类型语言,但变量类型是可选的因为Dart可以自动推 ...

  3. linux与window的\r与\n

    应用程序 void niuniu(void) { char buf[16]; char *p[6]; int i; led_init(); uart_init(); while(1) { puts(& ...

  4. Java subList的使用

    1. 在看<阿里巴巴java编程手册的时候>有如下强制约束 顺便学了一下subList. java.util.List中有一个subList方法,用来返回一个list的一部分的视图. Li ...

  5. 通过一道面试题了解Condition线程通信

    Condition Condition接口描述了可能会与锁有关联的条件变量.这些变量在用法与使用Object.wait访问的隐式监视器类似,但提供了更强大的功能.需要特别指出的是,单个Lock可能与多 ...

  6. watch和computed的用法区别是什么?

    在模板中绑定表达式是非常便利的,但是它们实际上只用于简单的操作.模板是为了描述视图的结构.在模板中放入太多的逻辑会让模板过重且难以维护.这就是为什么 Vue.js 将绑定表达式限制为一个表达式.如果需 ...

  7. [sqlite] 判断表、视图是否存在及常用C#操作语句

    1,判断表是否存在: SELECT name, sql FROM sqlite_master WHERE type="table" AND name = "Dom&quo ...

  8. gzip压缩解压缩

    压缩/解压缩压缩/解压缩之后的文件名称 必须是gz 解压缩

  9. Django WSGI,MVC,MTV,中间件部分,Form初识

    一.什么是WSGI? WEB框架的本质是一个socket服务端接收用户请求,加工数据返回给客户端(Django),但是Django没有自带socket需要使用 别人的 socket配合Django才能 ...

  10. LeetCode OJ:Search in Rotated Sorted Array II(翻转排序数组的查找)

    Follow up for "Search in Rotated Sorted Array":What if duplicates are allowed? Would this ...