爬虫的时候经常用到这个,找到了一个比较好用的方法 原文链接:http://blog.csdn.net/u012189659/article/details/36391837 背景:selenium+python处于学习阶段,功能实现之后开始整理之前写的代码,突然发现一个功能没有做判断,比如,点击“请登录”,需要判断一下这个弹出框到底弹了没有,这样就需要判断某个元素是否存在,使用is_displayed函数只能用于该元素存在去判断此元素是否出现,而不能判断某个元素是否存在,所以就自己写了个方法 代…
显式等待 显式等待使 WebdDriver 等待某个条件成立时继续执行,否则在达到最大时长时抛弃超时异常 (TimeoutException). #coding=utf-8 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support…
Python+Selenium有以下八种定位元素的方法: 1. find_element_by_id() eg: find_element_by_id("kw") 2. find_element_by_name() eg: find_element_by_name("wd") 3. find_element_by_class_name() eg: find_element_by_class_name("bg s_btn") 4. find_ele…
摘自https://www.cnblogs.com/sanzangTst/p/8376101.html selenium+python处于学习阶段,功能实现之后开始整理之前写的代码,突然发现一个功能没有做判断,比如,点击“请登录”,需要判断一下这个弹出框到底弹了没有,这样就需要判断某个元素是否存在,使用is_displayed函数只能用于该元素存在去判断此元素是否出现,而不能判断某个元素是否存在,所以就自己写了个方法. 一.find_elements方法判断 1.find_elements方法是…
今天在写selenium一个发送邮件脚本时,遇到一些没有找到页面元素的错误.经过自己反复调试,找原因百度,终于解决了.简单总结一下吧,原因有以下几点: 一:Frame控件嵌套,.Frame/Iframe原因定位不到元素: 一般大家经常使用的邮箱算是frame嵌套的典型,通常注册登录都是在一个frame控件里面,而且标题正文可能是frame中嵌套iframe,接下里用我今天的脚本为例子(qq邮箱) 可以看到,如果我们要想找到收件人,标题就要先进到第一个Frame控件中,否则就会报错,但如果还要找到…
   在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况(报selenium.common.exceptions.NoSuchElementException),一般可以从以下几个方面着手解决: 1.Frame/Iframe原因定位不到元素: 这个是最常见的原因,首先要理解下frame的实质,frame中实际上是嵌入了另一个页面,而webdriver每次只能在一个页面识别,因此需要先定位到相应的frame,对那个页面里的元素进行定位. 解决方案: 如果ifr…
expected_conditions 类 title_is: 判断当前页面的title是否完全等于(==)预期字符串,返回布尔值 title_contains : 判断当前页面的title是否包含预期字符串,返回布尔值 presence_of_element_located : 判断某个元素是否被加到了dom树里,并不代表该元素一定可见 visibility_of_element_located : 判断某个元素是否可见. 可见代表元素非隐藏,并且元素的宽和高都不等于0 visibility_…
在做级联的下拉框时发现第一次选择了下拉框(如省份),第二个下拉框可能是输入框,也可能是下拉框,这个时候就需要判断他的元素类型,来做判断 图1 图2 原理很简单:获取控件的html文件内容,拿到内容后在做判断 图1的html元素为: <input type="text" name="province" class="choiceCountry inputText long js_choiceState" value=""&…
[环境] Python3.6+selenium3.0.2+FireFox50+win7 [定位方法] 1.方法:find_element_by_xpath('') 说明:xpath定位方法有相对路径和绝对路径之分,当元素层级较多时,绝对路径会很长: 相对路径具有布尔逻辑运算. 缺点: 1)性能差,定位元素的性能比其他方式差: 2)稳定性差,Xpath会随着页面布局元素的改变而改变: 3)兼容性不好,在不同浏览器下Xpath的实现是不一样的. [示例] import unittest from s…
[环境] Python3.6+selenium3.0.2+IE11+win7 [定位方法] 1.link/partial link定位方法:定位的元素为文字链接且链接很长时 方法:find_element_by_link_text('xx‘) find_element_by_partial_link_text('xx') [示例] 用以下代码成功定位 import unittest from selenium import webdriver import time class LearnEle…