zoukankan      html  css  js  c++  java
  • 树莓派开机自动刷开网页

     
    /autostart/my.desktop文件
    [Desktop Entry]
    Type = Application
    Exec = chromium-browser -kiosk -app=http://www.baidu.com

    执行脚本

    #! /bin/bash
    
    sudo cp -rf ./autostart /home/pi/.config

    参考:https://blog.csdn.net/szu_Vegetable_Bird/article/details/80231660?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase

    注意:每次重启界面上会出chromium didn't shut down correctly警告,解决方法    https://raspberrypi.stackexchange.com/questions/68734/how-do-i-disable-restore-pages-chromium-didnt-shut-down-correctly-prompt

    方法二:python selenium chromedriver

    这个安装有点麻烦,但是功能强大一些,需要开机展示的页面可以自动向下滚动,滚到底再重新刷新页面获取新状态内容。

    sudo apt-get install chromium-chromedriver

    sudo apt-get remove chromium-browser

    sudo apt-get install chromium-browser

    sudo apt-get remove python3-pip

    sudo apt-get install python3-pip

    pip3 install selenium

    dpkg -L chromium-chromedriver

    注意查浏览器和驱动版本,版本对不上就没用,驱动不起来

    chromedriver -version

    chromium-browser -version

    #!/usr/bin/python3
    import time
    from selenium import webdriver
    
    Options = webdriver.ChromeOptions()
    Options.add_argument('-disable-infobars')
    Options.add_argument('-kiosk')
    Options.add_argument('-app=http://www.sina.com')
    browser = webdriver.Chrome(executable_path='/usr/lib/chromium-browser/chromedriver',options=Options)
    # browser.get('http://www.baidu.com/')
    # browser.maximize_window()
    print(browser.title)
    js1 = "var q=window.screen.height;return(q)"
    visual_area_height=browser.execute_script(js1)
    js2 = "var q=document.body.scrollHeight;return(q)"
    page_area_height=browser.execute_script(js2)
    print(visual_area_height,page_area_height)
    i=0
    while(True):
        if((50*i+visual_area_height)>page_area_height):
            i=0
            browser.refresh()
            time.sleep(10)
        i=i+1
        js3 = "window.scrollTo(0,("+str(50*i)+"))"
        browser.execute_script(js3)
        time.sleep(1)
        print("sleep 1 second")
        print(js3)

     方法三:解决开机时网络不通,需要检查网络后再拉起页面问题

    #! /bin/bash
    
    function network()
    {
        local timeout=1
        local target=www.baidu.com
        local ret_code=`curl -I -s --connect-timeout ${timeout} ${target} -w %{http_code} | tail -n1`
        if [ "x$ret_code" = "x200" ]; then
            return 1
        else
            return 0
        fi
        return 0
    }
    
    network
    while [ $? -eq 0 ]; do
        echo "no"
        sleep 1
        network    
    done
    echo "yes"
    
    chromium-browser -kiosk -app=http://www.baidu.com
  • 相关阅读:
    Eclipse报错:An internal error has occurred. Widget is disposed
    服务器端解决跨域问题的三种方法
    为什么要使用NoSQL
    Mybatis 中$与#的区别
    maven 打包命令,跳过测试
    maven打包跳过测试命令
    Vue 扩展插件
    node 文件打开状态
    node buffer缓冲区
    npm 命令
  • 原文地址:https://www.cnblogs.com/qijunzifeng/p/13492056.html
Copyright © 2011-2022 走看看