selenium之复选框操作

HTML源码:

<!DOCTYPE html>
<div lang="en"></div></div>
<head>
    <meta charset="UTF-8">
    <title>多选文本框</title>
</head>
<body>
        <from>
                <input type="radio" name="fruit" value="berry" />草莓</input>
                <br/>
                <input type="radio" name="fruit" value="watermelon" />西瓜</input>
                <br/>
                <input type="radio" name="fruit" value="orange" />橙子</input>
        </from>
</body>
</html>

python+selenium源码:

from selenium import webdriver
import unittest
import time

class LianXi_test(unittest.TestCase):

    def setUp(self):
        self.driver = webdriver.Chrome()
        self.url = r"E:\python\demo\Xpath\demo1.html"
        self.driver.implicitly_wait(10)
        self.driver.maximize_window()

    def test_get(self):
        # ger自己的html网页
        self.driver.get(self.url)
        # 使用Xpath定位获取Value属性值为‘berry‘的input元素对象,也就是草莓选项
        i = self.driver.find_element_by_xpath("//input[@value=‘berry‘]")
        i.click()
        time.sleep(1)
        self.assertTrue(i.is_selected(), "草莓单选框未被选中")

        if i.is_selected():        # 果草莓单选项被成功选中,重新选择西瓜
            o = self.driver.find_element_by_xpath("//input[@value=‘watermelon‘]")
            o.click()
            time.sleep(1)
        #    选择西瓜后,断言草莓选项是否处于未选中状态
            self.assertFalse(i.is_selected())

        p = self.driver.find_elements_by_xpath("//input[@name=‘fruit‘]")

        for u in p:
            time.sleep(1)
            if u.get_attribute("value") == "orange":
                time.sleep(1)
                if not u.is_selected():
                    u.click()
                    time.sleep(1)
                    self.assertEqual(u.get_attribute("value"), "orange")

    def tearDown(self):
        self.driver.quit()

if __name__ == "__main__":
    unittest.main()

原文地址:https://www.cnblogs.com/zhanghaoyang/p/10594913.html

时间: 2024-11-05 18:46:25

selenium之复选框操作的相关文章

复选框操作

<script>     $(function () {         //查找id=tab的表格,下面所有的tr,下面的所有td,第一个td下面复习框的点击事件.         $("#tab tr>td:nth-child(1)").find("input[type='checkbox']").bind("click", function () {             if ($(this).attr("c

C#:复选框操作类

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 using System; using System.Collections.Gener

python之tkinter使用-复选框操作

1 # tkinter复选框操作 2 3 import tkinter as tk 4 5 root = tk.Tk() 6 root.title('问卷调查') 7 root.geometry('220x80') # 设置窗口大小 8 9 flag_1 = False 10 flag_2 = False 11 flag_3 = False 12 list_content = ['你的爱好是:'] 13 hobby_list = ['游泳', '唱歌', '旅游'] 14 15 16 def c

Qt树形列表复选框操作

void CCheckBoxDialog::treeItemsChangeStol(QTreeWidgetItem *pCurrentItem, int){     if (m_itemsCount <= 0)//没有子节点,不存在选中操作     {         updateComboInfoStol();         return;     } if (Qt::Checked == pCurrentItem->checkState(0))     {         //QTree

【jQuery】对于复选框操作的attr与prop

这个是在jQuery1.6版本之后出现的鬼东西.受影响的主要有下拉列表select与复选框checkbox.众所周知,在jQuery中可以用attr()取出节点的属性,然而对于checkbox却不是这样了,比如我要取出其是否被选中的属性checked,attr("checked")去取没有选中的复选框是undefinded的,只能取出被选中复选框的属性.这个问题,导致我在一个条件判断中忙活了比较久的事件.查了一下发现,在jQuery1.6版本之后,你取复选框有没有被选中,要用prop

Jquery选择复选框操作

1 <script type="text/javascript"> 2 jQuery(function($){ 3 //全选 4 $("#btn1").click(function(){ 5 $("input[name='checkbox']").attr("checked","true"); 6 }) 7 //取消全选 8 $("#btn2").click(function

jQuery复选框操作

<html> <head> <script type="text/javascript" src="jquery-1.3.2.min.js"></script> <script type="text/javascript"> $(function(){ $('#CheckedAll').click(function(){ $('[name=items]:checkbox').attr('

jq 三级复选框操作

$("input:checkbox.grandfather").click(function () { if ($(this).prop("checked") == true) { $(this).parents("li").eq(0).find("input:checkbox").prop("checked", true); } else { $(this).parents("li")

Selenium—选择框的相关操作(单选框、多选框、复选框、下拉框)

编辑框 无缺省值:第二个输入框 可直接对输入框进行编辑: driver.find_element_by_id('input2').send_keys('selenium') 有缺省值:第一个输入框,默认 test 此时,如果我们直接对第一个输入框进行编辑,会发现与预期结果不符 driver.find_element_by_id('input1').send_keys('selenium') 因此,如果需要对存在默认值的输入框进行编辑,则需先进行清楚操作,然后再进行编辑 driver.find_e