UI自动化中经常会遇到元素识别不到,找不到的问题,原因有很多,比如不在iframe里,xpath或id写错了等等:但有一种是在当前显示的页面元素不可见,拖动下拉条后元素就出来了. 比如下面这样一个网页,需要进行拖动下拉条后才能通过selenium找到密码输入框的元素, 在python中有几种方法解决这种问题,简单介绍下,给需要的人: 方法一)使用js脚本直接操作,方法如下: js="var q=document.getElementById('id').scrollTop=10000"…
场景:在当前显示的页面元素不可见,拖动下拉条后元素就出来了. 解决方法: 在python中有几种方法解决这种问题,简单介绍下,给需要的人: 方法一)使用js脚本直接操作,方法如下: #将页面滚动条拖到底部 js="var q=document.getElementById('id').scrollTop=10000" driver.execute_script(js) 或: js="var q=document.documentElement.scrollTop=10000&…
数据采集中,经常遇到动态加载的数据,我们经常使用selenium模拟浏览器操作,需要多次下拉刷新页面才能采集到所有的数据,就此总结了几种selenium操作下拉滚动条的几种方法 我这里演示的是Java版本的,使用chromedriver,当然你可以换成python或其他语言,浏览器用firefox或者phantomjs(无头浏览器),大部分都是适用的,不同浏览器有略微的差异. 初始化一个浏览器 首先要允许浏览器运行js脚本 DesiredCapabilities sCaps = new Desi…
操作下拉框处理 在网页中,有时候会遇到下拉框处理,这时候使用Webdriver提供的select类来处理. ##操作下拉框处理 #coding = utf-8 from selenium import webdriver import os,time driver = webdriver.Firefox() file_path = 'file:///' + os.path.abspath("checkbox.html") driver.get(file_path) time.sleep…
目录 1.使用Selenium中的Select类来处理下拉菜单(推荐) 2.下拉菜单对象的其他操作(了解) 3.通过元素二次定位方式操作下拉菜单(重点) (1)了解元素二次定位 (2)示例: 页面中的<select></select>标签,就代表该元素是一个下拉菜单. 1.使用Selenium中的Select类来处理下拉菜单(推荐) 可以使用Select类中提供的方法来操作页面中的下拉菜单. (1)操作步骤: # 1.导入包Select类 from selenium.webdriv…
预计阅读时间: 15分钟 环境: win7 + Selenium2.53.6+python2.7 +Firefox 45.2  (具体配置参考 http://www.cnblogs.com/yoyoketang/p/selenium.html) FF45.2 官方下载地址: http://ftp.mozilla.org/pub/firefox/releases/45.2.0esr/win64/en-US/ 痛点:爸爸的一个朋友最近简书上面更新了20多篇文章,让我添加目录.每次手动查找链接再添加标…
import time from selenium import webdriver from selenium.webdriver.support.select import Select#处理下拉框 from selenium.webdriver.support.ui import WebDriverWait#等待一个元素加载完成 from selenium.webdriver.support import expected_conditions as EC from selenium.we…
在爬虫中,有时会遇到这种情况,数据的展示是不是一页一页的,而是通过不断的下拉滚动条来加载数据.例如一点咨询(http://www.yidianzixun.com/)和微博(在未登录的状态下:http://weibo.com/?category=2) 那么这种情况,在抓取数据的时候,如果要抓取更多的数据,就需要模拟人工来下拉滚动条,来加载更多的数据进行抓取.通过运行js 脚本来达到目的 具体方法如下: def scroll_foot(self): ''' 滚动条拉到底部 :return: '''…
一.场景:在编写脚本过程中需要定位的元素,在界面的底部,需要拖拽下拉滚动条,再进行定位元素. 实现思路:用Selenium 里面的 scrollTo 方法实现 二.脚本示例: 1. 用例设计 @Then("^input the keyWords (\\d+) and edit leaveCode (.+)$") public void input_the_keyWords_and_edit_leaveCode_PL(String keyWords, String leaveCode,…
前面介绍过Python中文件操作的一般方法,包括打开,写入,关闭.本文中介绍下python中关于文件操作的其他比较常用的一些方法. 首先创建一个文件poems: p=open('poems','r',encoding='utf-8') for i in p:print(i) 或者是 with open('poems','r+',encoding='utf-8') as f: for i in p: print(i)   结果如下: hello,everyone白日依山尽,黄河入海流.欲穷千里目,…