精华内容
下载资源
问答
  • selenium 打开一个页面,获取数据后关闭

    页面上有个table,table中每一行里可能会有一个链接,打开这个链接,获取链接页面数据后关闭页面,回到table:

     private static void opennewpage(WebElement table, String name, WebDriver webDriver, Map cookies) {
    
            List<WebElement> trs = table.findElements(By.tagName("tr"));
            for (int i = 1; i < trs.size(); i++) {
                String id = trs.get(i).findElements(By.tagName("td")).get(0).getText();
                List<WebElement> links = trs.get(i).findElements(By.tagName("a"));
                for (WebElement link : links) {
                    WebDriver detailWindow =SeleniumOpenNew.opennewpage(link.getAttribute("href"), webDriver, cookies);//打开新页面
                    try{
                        WebElement tables = detailWindow.findElement(By.tagName("form"));//你需要的数据table所在的标签
                        //TODO:获取tables里面的数据 
                    }catch(Exception ex){//新页面有可能打开不成功或者新的页面获取不到名字为form的标签
                        System.out.println("error:"+id);
                    }
                    detailWindow.close();//关闭新开的页面
                    handles = new ArrayList<String>(webDriver.getWindowHandles());
                    webDriver.switchTo().window(handles.get(handles.size() - 1));//新的页面已经关闭,所以最后一个句柄就是之前那个table的窗口
                    webDriver.switchTo().defaultContent();
                    for (WebElement frames : webDriver.findElements(By.tagName("frame"))) {
                        if ("main".equals(frames.getAttribute("name"))) {
                            webDriver.switchTo().frame("main");//进入table所在的那个frame,这样循环回去的时候才能取到值
                        }
                    }
                }
            }
        }


    SeleniumOpenNew.opennewpage代码

    public static WebDriver opennewpage(String url, WebDriver webDriver, Map cookies){
            for (Object entry : cookies.keySet()) {
                Cookie cookie = new Cookie(entry + "", cookies.get(entry) + "");
                webDriver.manage().addCookie(cookie);
            }
            JavascriptExecutor executor = (JavascriptExecutor) webDriver;
    
            executor.executeScript("window.open('" + url + "')");//打开新窗口
    
                 List<String> handles = new ArrayList<String>(webDriver.getWindowHandles());//获取所有窗口句柄
    
                 WebDriver newdriver=webDriver.switchTo().window(handles.get(handles.size()-1)); //切换到最后一个窗口,就是新打开的那个页面
    
                 return newdriver;
    }





    展开全文
  • Python 之 Serial串口通信-实时获取最新数据(好像没有找到其他的方案?) 文章目录Python 之 Serial串口通信-实时获取最新数据(好像没有找到其他的方案?)前言:arduino代码: 前言: 最近在用arduino嘛,信息流...

    Python 之 Serial串口通信-实时获取最新数据(好像没有找到其他的方案?)

    前言:

    最近在用arduino嘛,信息流大概如下:

    模拟信号
    串口通信
    霍尔传感器
    Arduino
    笔记本

    拿到上面的信息之后,我还需要在上位机-笔记本的python脚本中,随时获取最新的传感器数据。

    这个随时和最新,就比较麻烦。因为在网上找到的demo要么是非常复杂的调用,用上了多线程或者多进程,每时每刻的获取传感器的数据。
    要么就是很简单的demo,根本不考虑有其他运算的存在,一个死循环一直print串口来的数据。

    但是我的主程序会执行其他脚本,只有在需要控制夹爪的时候,霍尔传感器才会有所变化,而传感器一直会发信息过来,存在缓冲区,类似队列的方式,如果用传统的read_line(),每次都会读取最新进去的数据。

    我曾尝试过关闭端口,再重新打开,也不行;
    尝试过flush函数,也不行。

    然后我在这篇博客里面看到了对pyserial库中常见函数的一个说明,看到了readlines(),感觉可以试试,我可以把缓冲区的数据一次性读完嘛,这样下次读取的岂不是最新的数据?

    debug过后发现,果然可以。

    下面直接放代码吧:

    arduino代码:

    这段应该是改某位博客的,但是在这台机子上没搜到。先不放了~

    int analogPin = A7;
    int iVal = 0;
    void setup()
    {
        Serial.begin(9600);//打开串口,设置波特率9600
        pinMode(1, OUTPUT);//由于pin1是串口的Tx,所以要将其模式设置为OUTPUT
    }
     
    void loop()
    {
        iVal = analogRead(analogPin);
        float fVal = iVal * 5000.0 / 1024 - 2500.0 - 106.0;
        Serial.print(fVal, 3);
        Serial.println();//输出换行符
        delay(50);
    }
    

    笔记本python脚本:
    先安装serial –

    pip install serial
    

    python 脚本:

    
    import serial
    import time
    import numpy as np
    
    serialPort="COM4"
    baudRate=9600
    ser=serial.Serial(serialPort, baudRate, timeout=0.01)
    
    print("参数设置: 串口=%s, 波特率=%d"%(serialPort,baudRate))
    ser.set_buffer_size(rx_size=1, tx_size=1)
    info_count = 0
    
    def get_hall(ser):    
        string = ''    
        while len(string)==0:        
            str_lines = ser.readlines()                
            string=ser.readline().decode('utf-8')                    
            try:            
                if string == "":                
                    string = str_lines[-1].decode('utf-8')                        
            except:            
                pass    
                # remove /n
            return string[:-2]
    while 1:    
        # add random delay time
        sleep_time = np.random.random()        
        time.sleep(sleep_time)    
        string = get_hall(ser)    
        print(string)
    ser.close()
    
    

    基本上够了,虽然看起来有点蠢,但是测试的时候,完全符合要求,凑活用吧~


    加上打包成类的代码吧:

    import serial
    import time
    import numpy as np
    
    
    class Arduino:
        def  __init__(self, 
                      serialPort="COM4", 
                      baudRate=9600,
                      ):
            self.serialPort="COM4"
            self.baudRate=9600
            self.ser=serial.Serial(self.serialPort, self.baudRate, timeout=0.01)
            print("参数设置: 串口=%s, 波特率=%d"%(self.serialPort, self.baudR
    ate))
    
            self.ser.set_buffer_size(rx_size=1, tx_size=1)
            
        def get_hall(self):
            string = ''
            while len(string)==0:
                str_lines = self.ser.readlines()
                string=self.ser.readline().decode('utf-8')        
                try:
                    if string == "":
                        string = str_lines[-1].decode('utf-8')
                except:
                    pass
            return string[:-2]
    
    def main():
        ser = Arduino()
        while 1:
            sleep_time = np.random.random()
            time.sleep(sleep_time)
            string = ser.get_hall()
            print(string)
        ser.close()
    
    
    if __name__=='__main__':
    	main()
    
    
    展开全文
  • 时候,需要实现 页面停留时每隔一段时间请求后端接口更新最新数据 ,就比如我现在这个项目,它就需要每隔一段时间进行刷新,以确保数据是最新的: 逻辑图 实现 说白了,在 onShow() / onHide() 生命周期函数中...

    前言

    如果你想直接看实现方案,直接移步最后面。

    有时候,需要实现 页面停留时每隔一段时间请求后端接口更新最新数据 ,就比如我现在这个项目,它就需要每隔一段时间进行刷新,以确保数据是最新的:
    在这里插入图片描述

    逻辑图

    在这里插入图片描述

    实现

    说白了,在 onShow() / onHide() 生命周期函数中注册 定时器 即可。

    Page({
    
    
      /**
       * 页面的初始数据
       */
      data:
      {
        realTime: null,//实时数据对象(用于关闭实时刷新方法)
      },
    
    
      /**
       * 生命周期函数--监听页面显示
       */
      onShow: function()
      {
    
        /**
         * 防止用户拿不到最新数据(因为页面切换会重新计时)
         * 无条件请求一次最新数据
         */
        console.log('请求接口:刷新数据(无条件执行)')
        
    
        /**
         * 每隔一段时间请求服务器刷新数据(客户状态)
         * 当页面显示时开启定时器(开启实时刷新)
         * 每隔1分钟请求刷新一次
         * @注意:用户切换后页面会重新计时
         */
        this.data.realTime = setInterval(function()
        {
          
          // 请求服务器数据
          console.log('请求接口:刷新数据')
          
          // 反馈提示
          wx.showToast({
            title: '数据已更新!'
          })
    
        }, 60000)//间隔时间
    
        // 更新数据
        this.setData({
          realTime:this.data.realTime,//实时数据对象(用于关闭实时刷新方法)
    
        })
        
      },
    
    
    
      /**
       * 生命周期函数--监听页面隐藏
       */
      onHide: function()
      {
    
        /**
         * 当页面隐藏时关闭定时器(关闭实时刷新)
         * 切换到其他页面了
         */
        clearInterval(this.data.realTime)
    
      },
    
    })
    
    展开全文
  • from PyQt4 import QtGui,QtCore import sys class Web_Browser(QtGui.QDialog): def __init__(self,parent=None): QtGui.QWidget.__init__(self) self.resize(550,400) open=QtGui.QPu
    from PyQt4 import QtGui,QtCore
    import sys
    class Web_Browser(QtGui.QDialog):
        def __init__(self,parent=None):
            QtGui.QWidget.__init__(self)
            self.resize(550,400)
            open=QtGui.QPushButton('OPEN')
            self.connect(open,QtCore.SIGNAL('clicked()'),self.ok)
            grid=QtGui.QGridLayout()
            grid.addWidget(open,1,0,1,1)
            self.setLayout(grid)
            self.setWindowTitle('main windows')    
        def ok(self):
            web=Web_Browser()
            web.setModal(False)
            web.setWindowTitle('sub window')
            web.exec_()
    
    app=QtGui.QApplication(sys.argv)
    
    app.setFont(QtGui.QFont("Helvetica", 16))
    main=Web_Browser()
    main.show()
    
    sys.exit(app.exec_())
    
    
    

    
    
    展开全文
  • Thrift获取大量数据

    千次阅读 2016-08-12 08:46:06
    我们一次方法调用获取数据量太大,会导致性能很差,此时我们期望能一种类似socket编程中的用法,即获取一个长连接,每次只取一部分数据,然后循环获取,直到数据都取完再一次关闭连接。而这种使用长连接的方式...
  • ​点击关注 异步图书,置顶公众号每天与你分享 IT好书 技术干货 职场知识​参与文末话题讨论,每日赠送异步图书——异步小编每个数据科学家都需要处理存储在磁盘中的数据,这些数据涉及的格式ASCII文本、PDF、XML...
  • Request获取数据,Cookie保存数据

    千次阅读 2019-08-23 17:26:21
    Request获取数据 1.使用getParameter获取数据 // 设置响应的编码格式 response.setContentType("text/html;charset=UTF-8"); // 告诉服务器 请求的内容是什么编码格式 request.setCharacterEncoding("UTF-8");...
  • jsp 获取session数据

    千次阅读 2019-05-27 20:44:12
    Session是jsp提供的对象,可以用来保留客户与服务器之间的连接信息,创建之后会保存到内存中,当到达一定时间或者窗口被关闭时所相应的session就会被注销。 Session对象的一些方法 getAttribute(String name),...
  • request获取数据,cookie保存数据

    千次阅读 2018-03-28 21:23:57
    Request获取数据 1.使用getParameter获取数据 // 设置响应的编码格式 response.setContentType("text/html;charset=UTF-8"); // 告诉服务器 请求的内容是什么编码格式 request.setCharacter...
  • JPEG图像获取GPS数据

    千次阅读 2015-10-26 21:09:57
    导师突然交给任务,让完成一个基于c++的JPEG图像获取GPS数据的小程序,他说很小,很简单,让我赶快写。让我做的事情如下图: 就是要获取如图所示的GPS数据。TUA,我哪会啊,根本是一头雾水啊,但是还是给应承下来...
  • 于是乎就需要获取当前行的数据,于是就了下面两种方式的获取。 1 获取当前行的数据 1.1 我的笨办法 这里是我记录自己的学习过程,这个方法也能实现,但是麻烦,如果您只是为了寻找最终方案,请直接查看1.2章节...
  • JS获取页面数据

    万次阅读 2018-02-08 09:56:36
    1.通过名字获取:document.getElementByName("name").value;2.通过id获取: document.getElementById("id").value;3.通过类获取:document.getElementsByClassName("class").value;4...
  • WEB项目中经常使用jquery ajax提交和获取数据,但在IE中有时服务端明明已经修改过文件,返回的却还是以前的老数据,刚开始怀疑是jquery的问题,随即走读了下jquery的AJAX部分代码,发现jquery确实是发出了请求,如下...
  • 使用 Charles 获取 https 的数据

    万次阅读 多人点赞 2016-06-12 12:58:36
    使用 Charles 获取 https 的数据
  • WEB页获取串口数据

    千次阅读 2019-05-27 09:52:58
    网上找到很多 大致分两种 使用ActiveX控件,JS调用MSCOMM32.dll的串口...详情见 使用JS获得串口数据http://blog.csdn.net/xuing/article/details/6688306 但是小弟用这两种办法都获取数据 串口配置如下: 1 ...
  • 根据相关政策规定,国内比特币交易将于2017年9月底关闭,但这几...API 中获取数据并保存成 CSV 文件供日后利用。 本文主要内容如下: 比特币、莱特币历史行情数据 利用 Python 获取 okcoin.cn 比特币历史数据 利用 Py
  • Power BI 如何获取数据做可视化

    千次阅读 2018-07-01 22:45:35
    l 获取数据 Power BI Desktop 可连接到种类广泛的多种数据源,包括本地数据库、Excel 工作表和云服务等。 它可帮助清理数据和设置数据格式,以使数据更为有用,包括拆分和重命名列、更改数据类型和处理日期。还可...
  • android开发 传感器采集数据断断续续(锁屏不能继续正常采集数据)以小米手机为例 由于亲身经历(曾做项目需要采传感器数据,)绕了很多弯路,苦恼好久,想把自己的当时的解决办法分享一下,我想,可能需要注意...
  • CIMISS数据获取流程

    千次阅读 2017-01-04 20:42:37
    将时间进行调整,根据需要,设定为北京时间,以获取天的数据为例,时间格式为yyyyMMdd000000,这里获取数据,时间统一往后推一天,例如今天获取数据是CIMISS昨天的数据获取小时,获取分钟,通过代码的编写,可...
  • 用Python获取Yahoo数据

    千次阅读 2018-06-11 18:42:54
    在学python机器学习,网上找了实战教程,需要从yahoo获取股票数据,但一开始就遇到问题了,折腾了一天。以下给出问题以及解决方法。编程环境:Linux Ubuntu16, python3.6, anaconda 1.6.14, conda 4.5.4, ...
  • 使用VUE开发单页项目时遇到这样的问题,mounted中使用setInterval()定时向服务器获取数据,后来跳转页面,发现还在不停的获取数据。我以为是因为我路由用的push导致的,改成replace也是这样,后来就在博客园找到...
  • Hbase之遍历获取数据

    千次阅读 2016-11-10 13:39:48
    转载:[Hbase之遍历获取数据] http://www.cnblogs.com/similarface/p/5799460.htmlimport org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop....
  • 数据获取是进行数据分析与数据挖掘的基础,而数据预处理是影响数据挖掘...从键盘获取数据>>>value=input() >?"YEN" >>>value '"YEN"'从文本文件读取数据#打开文件 # r 只读 w 只写 a 附加到文件末尾 r+读写 # 如果要
  • 通过Iframe在A网站页面内嵌入空白页面的方式,跨域获取B网站的数据返回给A网站! 以下代码只是为演示该方法具体是如何操作的,实际的意义并不大。 其实这个方法还可以解决很多方面的跨域操作,以下两点为我工作中...
  • 财经资讯实时数据处理-设计方案 1.如何解决获取同步mongo数据 爬虫程序在存数据时判断数据是否为数据 确定为存数据需要通过redis打...2.如何解决MQ实时获取数据 使用MQ的发布/订阅一对一获取队列 3. 大体流...
  • (Giser源数据获取必备)地理空间数据云 1、背景和历史——平台起源 随着观测技术的迅猛发展,地学数据已经迎来了信息爆炸时代,涌现出了大量的优质数据资源,且多数数据资源都采用友好的数据共享政策。由于受资源...
  • 人生大写着失败,但是我还是勇往向前为了她,幸福向前直接上...数据获取----淘宝商品信息获取》 这次遇到的问题也是下一页的功能元素定位不了 ,不能只点击,采用点击加悬浮的方式 直接上代码 """ @author: cht @t...
  • kinect 2的数据获取与深度相机的标定

    千次阅读 多人点赞 2019-04-16 21:09:03
    要想获取kinect深度相机的内参,首先必须获取深度相机拍摄的图像,由深度相机拍摄的图像深度图和红外图两种,深度图难以识别,所以我需要过去kinect的红外数据。(kinect 2里面两个摄像头,一个是彩色相机,一个...
  • 官方API地址 ...实现步骤 1. 调用小程序API:wx.login获取code和sessionKey; 2. 调用小程序API: wx.getWeRunData获取微信运动数据(加密的) 3. 解密步骤2的数据; 这里我后台的代...
  • 前言 随着2012年开始直播行业的兴起,吃外卖看直播成了很多...(1)利用爬虫获取数据 (2)从各种维度对直播数据进行数据分析 (3)分析结果可视化 一、利用爬虫获取数据 Markdown和扩展Markdown简洁的语法...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 894,560
精华内容 357,824
关键字:

关闭获取新数据后有什么影响