unbuntu安装google浏览器和谷歌浏览器驱动

unbuntu安装google浏览器和谷歌浏览器驱动1、安装google浏览器sudowgethttp://www.linuxidc.com/files/repo/google-chrome.list-P/etc/apt/sources.list.d/wget-q-O-https://dl.google.com/linux/linux_signing_key.pub|sudoapt-keyadd-sudoapt-…

大家好,又见面了,我是你们的朋友全栈君。

1、安装google浏览器

sudo wget http://www.linuxidc.com/files/repo/google-chrome.list -P /etc/apt/sources.list.d/
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub  | sudo apt-key add -
sudo apt-get update
sudo apt-get install google-chrome-stable
/usr/bin/google-chrome-stable

2、安装谷歌浏览器驱动

2.1 下载驱动,如果下载不下来,可以本机翻墙下载,再使用filezilla上传到服务器

wget -N http://chromedriver.storage.proxy.ustclug.org/2.26/chromedriver_linux64.zip

2.2 下载解压包

sudo apt-get install unzip

2.3 解压压缩包

unzip chromedriver_linux64.zip

2.4 添加到环境变量

sudo mv -f chromedriver /usr/bin/chromedriver

2.5 安装xvfb,方便我们无头运行谷歌浏览器

sudo apt-get install xvfb

3.运行谷歌浏览器

3.1 安装python3包

pip3 install selenium
 
pip3 install pyvirtualdisplay

3.2 测试代码

from pyvirtualdisplay import Display
from selenium import webdriver
 
display = Display(visible=0, size=(800, 600)) 
display.start()  
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
print driver.title
driver.close()
driver.quit()
display.stop()

注意:用完之后需要关闭驱动和浏览器,就是driver.close(),driver.quit(),display.stop()是需要的,要不然会导致服务器内存泄露。

有的时候Display会stop不掉,可以这样做:

命令行输入:

sudo Xvfb :10 -ac &

然后把他加入到环境变量/etc/profile中:

export DISPLAY=:10

代码改成这样:

from selenium import webdriver
 
 
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
print driver.title
driver.close()
driver.quit()

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131868.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • php第三方登录(微博登录,仿照慕课网)

    php第三方登录(微博登录,仿照慕课网)

    2021年10月25日
  • Java volatile关键字作用「建议收藏」

    Java volatile关键字作用「建议收藏」当一个共享变量被volatile修饰时,它会保证修改的值立即被更新到主存“,这里的”保证“是如何做到的?和JIT的具体编译后的CPU指令相关吧?  volatile特性  内存可见性:通俗来说就是,线程A对一个volatile变量的修改,对于其它线程来说是可见的,即线程每次获取volatile变量的值都是最新的。  volatile的使用场景  通过关键字sychronize…

    2022年6月1日
  • Java项目的创建以及注意事项「建议收藏」

    Java项目的创建以及注意事项「建议收藏」Java项目的创建以及注意事项一,创建JavaProject方法1,在左边空白处右键,然后选择new,再点击JavaProject。方法2,点击左上角的File,然后选择new,再点击JavaProject二,给project项目命名,然后点击finish三,打开Test,然后右…

    2022年7月8日
  • Java对象数组

    Java对象数组所谓的对象数组,就是指包含了一组相关的对象,但是在对象数组的使用中一定要清楚一点:数组一定要先开辟空间,但是因为其是引用数据类型,所以数组里面的每一个对象都是null值,则在使用的时候数组中的每一个对象必须分别进行实例化操作。 对象数组的声明先定义,再开辟空间类名称对象数组名[]=null;对象数组名=new类名称[长度]; 定义并开辟数组类名称对象数…

    2022年5月5日
  • 3G网络结构[通俗易懂]

    3G网络结构[通俗易懂]在2G(GSM)技术之后,为了适应数据流业务的发展,2.5G(GPRS)技术日益兴起。但是速率很低,随后才发展到3G(UMTS)通信系统。3G网络结构图如下所示:更详细一些的架构图:MSC/VLR和GMSC属于电路域,GGSN和SGSN属于分组域。1,UE(UserEquipment)UE是用户终端设备,它主要包括射频处理单元、基带处理单元、协议栈模

    2022年9月21日
  • pycharm21 永久激活【2022最新】2022.01.31「建议收藏」

    (pycharm21 永久激活)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlCJM5ZJBPHS-eyJsaWN…

    2022年3月31日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号