Electron 报错 require is not defined

var electron = require('electron');
var app = electron.app
var path = require('path');

var BrowserWindow = electron.BrowserWindow

var mainWindow = null;
app.on('ready',function(){
    mainWindow = new BrowserWindow({
        width:600,
        height:600,
        webPreferences: {
            nodeIntegration: true
            }
    })
    // mainWindow.loadFile('index.html');
    mainWindow.loadURL(path.join('file:',__dirname,'index.html'))
    console.log('file:',__dirname,'index.html')
    mainWindow.on('closed',()=>{
        mainWindow=null; 
    })
    mainWindow.webContents.openDevTools();
})

在主进程 main.js 创建窗口的时候添 下面代码即可

webPreferences: {nodeIntegration: true}

Electron 热更新和electron-builder 打包

http://www.weilai.info/rear_end/339.html

Shell 脚本记录

监控服务器状态发送给 Incoming Webhooks

#!/bin/bash  

STATE=`top -b -n 1 | grep 'B Mem'`
URL='https://hook.bearychat.com/=bwGFg/incoming/xxxxxxxxxx'
TIME=$(date "+%Y-%m-%d %H:%M:%S")
curl ${URL} -H 'Content-Type: application/json' -d '{"text": "腾讯云服务器状态","attachments": [{"title": "内存 '"${TIME}"'","text":"'"${STATE}"'","color": "#ffa500"}]}'

清理 buff/cache

sync && echo 1 > /proc/sys/vm/drop_caches
sync && echo 2 > /proc/sys/vm/drop_caches
sync && echo 3 > /proc/sys/vm/drop_caches

开机执行 shell 脚本

vim /etc/rc.d/rc.local
# 添加
sh /root/sh/auto.sh

在 centos 7 中,/etc/rc.d/rc.local 文件的权限被降低了,开机的时候执行在自己的脚本是不能起动一些服务的,执行下面的命令可以文件标记为可执行的文件

chmod +x /etc/rc.d/rc.local 

selenium 内嵌窗口定位滚动

Selenium 配合 Chromedriver 爬取艺龙评价时,存在内嵌窗口,直接 JS 无法滚动,这里使用如下操作方法

if spider.name == 'elong':
	for i in range(2):
		rand = random.uniform(1, 4)
		time.sleep(rand)
		drag = self.driver.find_element_by_xpath("//li[@class='s_bdt'][last()-1]")
		self.driver.execute_script("arguments[0].scrollIntoView();", drag)
		time.sleep(2)
else:
	for i in range(2):
		rand = random.uniform(1, 4)
		time.sleep(rand)
		js = "window.scrollTo(0,document.body.scrollHeight)"
		self.driver.execute_script(js)
print('Chrome driver success...')

Scrapy 一些记录

UnicodeEncodeError: 'gbk' codec can't encode character '\xee' in position 22
print(response.text.encode('gbk', 'ignore').decode('gbk'))
https://zhidao.baidu.com/question/1302043991323187059.html

Scrapyd 部署出现错误 builtins.AttributeError: ‘int’ object has no attribute ‘splitlines’

错误原因 twist 版本过高

Continue reading Scrapy 一些记录

jQuery 模拟手动点击链接代码

html 文件

<a href="http://www.baidu.com" id='alipaybtn'>jquery点我</a>

jQuery 代码

var goPay = '<span id="goPay"> <span>';
 
//给A标签中的文字添加一个能被jQuery捕获的元素
 
$('#alipaybtn').append(goPay);
 
//模拟点击A标签中的文字
 
$('#goPay').click();