树莓派开机自动刷开网页

 
/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

 

posted @ 2020-08-12 17:50  七君子风  阅读(978)  评论(0)    收藏  举报