1. 先判断按钮是否已经被选中
  2. 如果没有被选中,才可以点击
    #encoding=utf-8
    import unittest
    import time
    import chardet
    from selenium import webdriver class VisitSogouByIE(unittest.TestCase): def setUp(self):
    #启动IE浏览器
    #self.driver = webdriver.Firefox(executable_path = "e:\\geckodriver")
    self.driver = webdriver.Ie(executable_path = "e:\\IEDriverServer") def test_operateRadio(self):
    url = "http://127.0.0.1/test_radio.html"
    # 访问自定义的html网页
    self.driver.get(url)
    # 使用xpath定位获取value属性值为'berry'的input元素对象,也就是“草莓”选项
    berryRadio = self.driver.find_element_by_xpath("//input[@value='berry']")
    # 点击选择“草莓”选项
    berryRadio.click()
    # 断言“草莓”复选框被成功选中
    self.assertTrue(berryRadio.is_selected(), u"草莓复选框未被选中!")
    if berryRadio.is_selected():
    # 如果“草莓”复选框被成功选中,重新选择“西瓜”选项
    watermelonRadio = self.driver.find_element_by_xpath("//input[@value='watermelon']")
    watermelonRadio.click()
    # 选择“西瓜”选项以后,断言“草莓”选项处于未被选中状态
    self.assertFalse(berryRadio.is_selected())
    # 查找所有name属性值为“fruit”的单选框元素对象,并存放在radioList列表中
    radioList = self.driver.find_elements_by_xpath("//input[@name='fruit']")
    '''
    循环遍历radioList中的每个单选按钮,查找value属性值为“orange”的单选框,
    如果找到此单选框以后,发现未处于选中状态,则调用click方法选中该选项。
    '''
    for radio in radioList:
    if radio.get_attribute("value") == "orange":
    if not radio.is_selected():
    radio.click()
    self.assertEqual(radio.get_attribute("value"), "orange") time.sleep(5)
    def tearDown(self):
    # 退出IE浏览器
    self.driver.quit() if __name__ == '__main__':
    unittest.main()

Selenium WebDriver-操作单选框的更多相关文章

  1. Selenium Webdriver——操作隐藏的元素(二)display属性

    有时候我们会碰到一些元素不可见,这个时候selenium就无法对这些元素进行操作了.例如,下面的情况: 页面主要通过“display:none”来控制整个下拉框不可见.这个时候如果直接操作这个下拉框, ...

  2. Selenium Webdriver——操作隐藏的元素

    有时候我们会碰到一些元素不可见,这个时候selenium就无法对这些元素进行操作了.例如,下面的情况: 页面主要通过“display:none”来控制整个下拉框不可见.这个时候如果直接操作这个下拉框, ...

  3. Selenium Webdriver——操作隐藏的元素display属性

    有时候我们会碰到一些元素不可见,这个时候selenium就无法对这些元素进行操作了.例如,下面的情况: 页面主要通过“display:none”来控制整个下拉框不可见.这个时候如果直接操作这个下拉框, ...

  4. Selenium Webdriver——操作隐藏的元素(三)switchTo().frame()

    在web 应用中经常会遇到frame 嵌套页面的应用,页WebDriver 每次只能在一个页面上识别元素,对于frame 嵌套内的页面上的元素,直接定位是定位是定位不到的.这个时候就需要通过switc ...

  5. No.13 selenium for python 单选框和复选框

    单选框 radio 点击图标,可以获取HTML中定位. 使用普通的ID定位就可以了 定位到指定元素,然后使用clicd选中即可 复选框 checkbox 勾选单个框,跟单选框一样,定位后点击就可以了 ...

  6. selenium webdriver操作各浏览器

    描述 本文主要是针对Chrome 62 , firefox57 ,和IE11 三个版本的操作.相关的driver .可点击以下链接.所有的driver 建议放在浏览器的目录下,本文中所有的driver ...

  7. jquery 操作单选框,复选框,下拉列表实现代码

    1.复选框全选操作:其实说到底就是对Jquery 选择器的运用,点我查看Jquery选择器 html代码: 复制代码代码如下: <form> 您爱好的运动是: <input type ...

  8. Selenium webdriver 操作日历控件

    一般的日期控件都是input标签下弹出来的,如果使用webdriver 去设置日期, 1. 定位到该input 2. 使用sendKeys 方法 比如: 但是,有的日期控件是readonly的 比如1 ...

  9. Selenium webdriver 操作chrome 浏览器

    Step1: 下载chromedriver. 下载路径: http://chromedriver.storage.googleapis.com/index.html 选择一个合适的下载即可.我下载的是 ...

随机推荐

  1. git如何强制用远程分支更新本地

    git本地即使有修改如何强制更新: 本地有修改和提交,如何强制用远程的库更新本地.我尝试过用git pull -f,总是提示 You have not concluded your merge. (M ...

  2. HDU 5452 Minimum Cut (Spaning Tree)

    生成树的上的一个非根结点对应一条生成树上的边,然后这个结点的子树上连出去的边就对应去掉这条边的割, 然后就可以对树外的边求LCA,在LCA上标记,利用这个信息可以算出有多少条边在子树上,以及有多少条边 ...

  3. keycode对应表

    keycode对应表 keycode    8 = BackSpace 回格keycode    9 = Tab keycode   12 = Clearkeycode   13 = Enter 回车 ...

  4. zend studio failed to create java virtual machine无法启动的解法

    zend studio failed to create java virtual machine 解决方案:在安装目录下修改ZendStudio.ini中第十四行处改成 -Xmx512M. -sta ...

  5. Mac格式化fat32格式

    好的,格式化硬盘可以使用电脑内置的磁盘工具来格式. 在 LaunchPad 中的 实用工具 或 其它 找到 磁盘工具 打开磁盘工具后,找到你的移动硬盘. (这里以我的希捷移动盘来示例) 非常容易找到, ...

  6. centos7-vsftpd文件服务器

    FTP简介: 文件传输协议(File Transfer Protocol,FTP),基于该协议FTP客户端与服务端可以实现共享文件.上传文件.下载文件. FTP 基于TCP协议生成一个虚拟的连接,主要 ...

  7. vue跨域处理(vue项目中baseUrl设置问题)

    1.开发环境: 2.生产环境: 然后 const instance = axios.create({ baseURL: process.env.API })

  8. javaweb基础(15)_jsp基础语法

    任何语言都有自己的语法,JAVA中有,JSP虽然是在JAVA上的一种应用,但是依然有其自己扩充的语法,而且在JSP中,所有的JAVA语句都可以使用. 一.JSP模版元素 JSP页面中的HTML内容称之 ...

  9. skynet 学习笔记-sproto模块(2)

    云风在skynet中继承了sproto的传输协议,对比protobuf的好处是,能明文看到传输内容,而且skynet不需要protobuf这么功能,所以云风也建议在lua层使用sproto来作为sky ...

  10. C# 获取Google Chrome的书签

    其实这个很简单,就是读取一个在用户目录里面的一个Bookmarks文件就好了. 先建立几个实体类 public class GoogleChrome_bookMark_meta_info { publ ...