• python selenium判断元素是否存在的问题


    爬虫的时候经常用到这个,找到了一个比较好用的方法

    原文链接:http://blog.csdn.net/u012189659/article/details/36391837

    背景:selenium+python处于学习阶段,功能实现之后开始整理之前写的代码,突然发现一个功能没有做判断,比如,点击“请登录”,需要判断一下这个弹出框到底弹了没有,这样就需要判断某个元素是否存在,使用is_displayed函数只能用于该元素存在去判断此元素是否出现,而不能判断某个元素是否存在,所以就自己写了个方法

    代码:

    from selenium import webdriver
    import unittest
    from selenium.webdriver.common.action_chains import ActionChains
    class test1(unittest.TestCase):
        
        def setUp(self):
            self.driver=webdriver.Firefox()
            self.baseurl="http://www.xebest.com"
    #        self.driver.maximize_window()
            
            
            
            
            
        def dengLu(self):
            browser=self.driver
            
            browser.get(self.baseurl)
            
            browser.find_element_by_link_text(u"请登录").click()
            #调用isElementExist方法,判断元素是否存在
            flag=test1.isElementExist(self, "div.popup-content")         
            
            if flag:
                
                browser.find_element_by_id("userName").send_keys("w74581@163.com")
                browser.find_element_by_id("password").send_keys("w123456")
                browser.find_element_by_id("imgLogin").click()
                print(browser.switch_to_alert().text)
                browser.switch_to_alert().accept()
                
                
            else:
                print("没有弹框")
            
            
            
            
    #   该方法用来确认元素是否存在,如果存在返回flag=true,否则返回false        
        def isElementExist(self,element):
            flag=True
            browser=self.driver
            try:
                browser.find_element_by_css_selector(element)
                return flag
            
            except:
                flag=False
                return flag
  • 相关阅读:
    eclipse下载
    maven-jdk版本配置
    winform中的ListBox和ComboBox绑定数据
    C和C#两种方式实现邮件的简单接收
    .Net遍历窗体上控件
    C和C#两种方式实现邮件的简单发送
    Gtk基础学习总结(二)
    Gtk基础学习总结(一)
    你要知道的C与C++的区别
    C程序中引用自定义的C函数模块
  • 原文地址:https://www.cnblogs.com/Jacck/p/7784915.html
Copyright © 2020-2023  润新知