zoukankan      html  css  js  c++  java
  • 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
    复制代码
  • 相关阅读:
    1.LOAM安装
    查看memcached运行状态
    (转)服务器故障排查,侵删
    百度地图tilesloaded只触发一次
    Linux 安装NVIDIA显卡
    Oracle常用sql(持续更新)
    jetBrain idea 常用插件整理
    关于swiper4 一个页面多个轮播的问题
    linux 日常工作常用软件(持续更新)
    WPS for Linux ,Linux平台最好的文档编辑软件,没有之一
  • 原文地址:https://www.cnblogs.com/lp475177107/p/12207046.html
Copyright © 2011-2022 走看看