• 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:pythondemoXpathdemo1.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()
    
  • 相关阅读:
    PHP设计模式
    PHP设计模式
    PHP 23种设计模式
    MySQL 中的共享锁和排他锁的用法
    PHP_MySQL高并发加锁事务处理
    Connection: close和Connection: keep-alive有什么区别
    罗辑思维首席架构师:Go微服务改造实践
    真诚与尊重是技术团队的管理要点
    10种常见的软件架构模式
    百亿级微信红包的高并发资金交易系统设计方案
  • 原文地址:https://www.cnblogs.com/zhanghaoyang/p/10594913.html
Copyright © 2020-2023  润新知