菜鸟的配置过程
下载seleniumpip install selenium下载chrome和chromedriver
webdriver下载网站
http://chromedriver.storage.googleapis.com/index.html
chrome下载网站
https://www.chromedownloads.net/chrome64win-stable/
随便选择一个版本号对应的下载即可
将chrome下载文件中的deb格式安装(rpm包舍弃)
#更新源 sudo apt-get update #安装谷歌 sudo dpkg -i google-chrome-stable_current_amd64.deb #失败了 安装谷歌依赖 sudo apt-get -f install
将chromedriver加入环境
mv chromedriver /usr/local/bin/ chmod 777 /usr/local/bin/chromedriver
查看chrome的版本
google-chrome --version
查看chromedriver的版本
终端输入 chromedrive
查看两个版本相同即可
代码部分注意点1 :
加入代码以root用户运行
chrome_options = Options()
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
注意点2:
无头运行
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
注意点3
无头模式需要设置游览器大小,如果太小的游览器则一些元素定位不到
browser = webdriver.Chrome(options=chrome_options) browser.set_window_size(2000, 2000) browser.maximize_window()
注意点4
无法使用下xpath方法定位元素(有木有大佬告诉我一下是什么原因)
#导入新版本查找定位的包 from selenium.webdriver.common.by import By #使用傻傻的方式定位 browser.find_elements(By.CLASS_NAME, 'fine-font')[12].click()
注意点5
crontab定时启动selenium脚本时,需要把环境变量以绝对路径传入
#新版本导入路径 需导入包
from selenium.webdriver.chrome.service import Service
service=Service('/root/python_pro/chromedriver')
省略
browser = webdriver.Chrome(service=service,options=chrome_options)
注意点6
等待sleep 云服务器带宽低 请延长等待时间
#跳转新页面 在implicitly_wait后加入sleep强制延时 #因为还没有等待js渲染等加载 browser.implicitly_wait(5) time.sleep(5)
ps
selenium经常抽风 这次可以下次又不可以了。。。。。



