标签:default shm 按键 拼接 app 键盘 ext ble 就是
1 一个结合文件发送,命令行,监控一体化的链接工具支持跨平台 http://www.hostbuf.com/?install_fs
按照顺序双击即可
2 命令行安装python(root身份),命令完全兼容centos7.6 https://www.linuxidc.com/Linux/2018-07/153286.htm
3 安装虚拟环境,此处有些小插曲,记录如下
安装虚拟机必要环境
可以先更新下pip
pip install --upgrade pip
sudo pip install virtualenv
sudo pip install virtualenvwrapper
安装结束就启动虚拟环境(如果不行可以重复操作)
source virtualenvwrapper.sh
创建虚拟环境(py3_flask是虚拟环境名字)
mkvirtualenv -p python3 py3_flask
查看虚拟环境(可用tab按钮,快捷方便)
workon py3_flask
退出虚拟环境
deactivate
删除虚拟环境(先退出才能删除)
rmvirtualenv py3_flask
查看虚拟环境新安装的包
pip freeze
4 这几天用本地软件跑selenium,网络不稳定,我都忘了我还有个云主机闲着。今天部署下
安装chrome
yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
查看版本
在上面有 83.0.4103.116-1
下载chromedriver找对应版本 https://npm.taobao.org/mirrors/chromedriver/
wget http://npm.taobao.org/mirrors/chromedriver/83.0.4103.39/chromedriver_linux64.zip
chmod +x /home/mysoft/spyder/chromedriver
编辑py文件 此处给出一个可以正常运行的文件示例
#! /usr/bin/python3 from selenium import webdriver chrome_options = webdriver.ChromeOptions() # 不加载图片,加快访问速度 chrome_options.add_experimental_option("prefs", {"profile.mamaged_default_content_settings.images": 2}) # 此步骤很重要,设置为开发者模式,防止被各大网站识别出来使用了Selenium chrome_options.add_experimental_option(‘excludeSwitches‘, [‘enable-automation‘]) chrome_options.add_argument(‘--headless‘) chrome_options.add_argument(‘--no-sandbox‘) chrome_options.add_argument(‘--disable-gpu‘) chrome_options.add_argument(‘--disable-dev-shm-usage‘) browser = webdriver.Chrome(options=chrome_options) url = "https://www.baidu.com/" browser.get(url) html = browser.find_element_by_xpath("//*").get_attribute("outerHTML") print(html) print("-----------------------------------")
记录几个报错
chrome not run,,,,,, 可能是chromeoption设置不好,参照以上代码
No such file or directory xxxx 可能是没有权限 chmod u+x xxxx
如果还有其他不可描述的错误。比如语法没错,但是就是通不过,可能是python缩进有问题,花费两三分钟统一下格式
查看正在运行的python程序 ps -ef | grep python
找到进程id 杀死进程 kill -9 4394
selenium的键盘按键的正确用法 https://www.jianshu.com/p/56e1295b031f
eg:driver.find_element_by_id(‘DomainName‘).send_keys("{ENTER}")
------------恢复内容开始------------
1 一个结合文件发送,命令行,监控一体化的链接工具支持跨平台 http://www.hostbuf.com/?install_fs
按照顺序双击即可
2 命令行安装python(root身份),命令完全兼容centos7.6 https://www.linuxidc.com/Linux/2018-07/153286.htm
3 安装虚拟环境,此处有些小插曲,记录如下
安装虚拟机必要环境
可以先更新下pip
pip install --upgrade pip
sudo pip install virtualenv
sudo pip install virtualenvwrapper
安装结束就启动虚拟环境(如果不行可以重复操作)
source virtualenvwrapper.sh
创建虚拟环境(py3_flask是虚拟环境名字)
mkvirtualenv -p python3 py3_flask
查看虚拟环境(可用tab按钮,快捷方便)
workon py3_flask
退出虚拟环境
deactivate
删除虚拟环境(先退出才能删除)
rmvirtualenv py3_flask
查看虚拟环境新安装的包
pip freeze
4 这几天用本地软件跑selenium,网络不稳定,我都忘了我还有个云主机闲着。今天部署下
安装chrome
yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
查看版本
在上面有 83.0.4103.116-1
下载chromedriver找对应版本 https://npm.taobao.org/mirrors/chromedriver/
wget http://npm.taobao.org/mirrors/chromedriver/83.0.4103.39/chromedriver_linux64.zip
chmod +x /home/mysoft/spyder/chromedriver
编辑py文件 此处给出一个可以正常运行的文件示例
#! /usr/bin/python3 from selenium import webdriver chrome_options = webdriver.ChromeOptions() # 不加载图片,加快访问速度 chrome_options.add_experimental_option("prefs", {"profile.mamaged_default_content_settings.images": 2}) # 此步骤很重要,设置为开发者模式,防止被各大网站识别出来使用了Selenium chrome_options.add_experimental_option(‘excludeSwitches‘, [‘enable-automation‘]) chrome_options.add_argument(‘--headless‘) chrome_options.add_argument(‘--no-sandbox‘) chrome_options.add_argument(‘--disable-gpu‘) chrome_options.add_argument(‘--disable-dev-shm-usage‘) browser = webdriver.Chrome(options=chrome_options) url = "https://www.baidu.com/" browser.get(url) html = browser.find_element_by_xpath("//*").get_attribute("outerHTML") print(html) print("-----------------------------------")
记录几个报错
chrome not run,,,,,, 可能是chromeoption设置不好,参照以上代码
No such file or directory xxxx 可能是没有权限 chmod u+x xxxx
如果还有其他不可描述的错误。比如语法没错,但是就是通不过,可能是python缩进有问题,花费两三分钟统一下格式
查看正在运行的python程序 ps -ef | grep python
找到进程id 杀死进程 kill -9 4394
selenium的键盘按键的正确用法 https://www.jianshu.com/p/56e1295b031f
eg:driver.find_element_by_id(‘DomainName‘).send_keys("{ENTER}")
记录几个xpath的操作
driver.find_element_by_id(‘DomainName‘).clear() time.sleep(0.2 * random.random()) driver.find_element_by_id(‘DomainName‘).send_keys("%s.com\n" % (li)) driver.find_element_by_id(‘DomainName‘).send_keys("{ENTER}") WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CLASS_NAME, ‘search-write-btn‘))) # tag_element = driver.find_element_by_class_name(‘search-write-btn‘) # ActionChains(driver).move_to_element(tag_element).perform().click() time.sleep(0.5 + 0.2 * random.random()) # driver.find_element_by_class_name(‘search-write-btn‘).click() # js ="document.getElementByClass(‘search-write-btn‘).click()" # js点击元素 # driver.execute_script(js) # 显示等待知道元素出现 WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CLASS_NAME, ‘search-write-btn‘))) html = driver.find_element_by_xpath("//*").get_attribute("outerHTML") write_to_html(str(i),html) result = driver.find_element_by_xpath("//*[contains(text(), ‘未被注册‘)]")
记录几个刷新界面的方法 https://www.cnblogs.com/MasterMonkInTemple/p/4097512.html
在linux编程中,如果文件中用到当前目录,则应该cd 到指定目录下,不然程序会报路径找不到错误,另一种解决方式是在程序中获取当前路径,然后拼接
缩进不对,或者符号错误(某些无法描述的错误就是缩进不对)
目前还有一个奇葩错误
问题是我用的是drivert.get(url) 并不是获取elements元素导致的错误,
解决方法:将except中异常处理的代码(driver.get(url))想办法放到try中。
某次点击按钮无法使用,解决办法:在输入框后面拼接字符串"\n" 不知为何,在win中运行很好,但是在linux下各种报错。
注意下try except用法,注意可能是哪个地方出错了,
注意只对绝对有异常的地方进行try 。。。。except pass。。。。。。。可以选择什么也不处理
(比如某元素找不到,程序会报异常进而终止运行,这时候必须try上,保证程序整体运行)
注意如果有需要,可多层嵌套try except 对于不同层侧的异常区别对待
注意 if a and b:pass else: 与 if a: if b:pass (a)else: 是不一样的
注意 如果比较某字符串相等,从字面看绝对没有不一样的,但是就是不相等,可能是utf8自动加载的字符bom等,处理方式编码方式修改为utf8-mas,或者,首行空一行
前几天买了云服务器,这几天安装个python3环境,跑个selenium
标签:default shm 按键 拼接 app 键盘 ext ble 就是
原文地址:https://www.cnblogs.com/RYSBlog/p/13291928.html