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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【Linux】内核编程中的EXPORT_SYMBOL()

    【Linux】内核编程中的EXPORT_SYMBOL()查看符号导出结果命令:以EXPORT_SYMBOL(export_symbol_server)为例:$cat/proc/kallsyms|grepexport_symbol_server一:EXPORT_SYMBOL()宏定义相关定义如下#define___PASTE(a,b)a##b#define__PASTE(a,b)___PASTE(a,b)#define__UNIQUE_ID(prefix)__PASTE(__PASTE(__UNIQUE_ID_,p

    2022年7月16日
    20
  • 交换机在局域网内的日常工作有哪些_交换机组建内部局域网

    交换机在局域网内的日常工作有哪些_交换机组建内部局域网动态主机配置协议(DynamicHostConfigurationProtocol)每一台新接入的机器都通过DHCP协议,来这个共享的IP地址里申请,然后自动配置好就可以了。等人走了

    2022年8月3日
    4
  • Method getMethod

    转自:https://www.cnblogs.com/douder/p/7237883.htmlMethod getMethod(String name, Class<?>… parameterTypes) –返回一个 Method 对象,它反映此 Class 对象所表示的类或接口的指定公共成员方法。 方法后面接收的就是Class类的对象,而如:String.class、i…

    2021年11月30日
    49
  • saga分布式事务_分布式事务原理

    saga分布式事务_分布式事务原理saga是分布式事务领域里一个非常重要的事务模式,特别适合解决出行订票这类的长事务,本文将深度剖析saga事务的设计原理,以及在解决订票问题上的最佳实践01.saga的理论来源saga这种事务模式最早来自这篇论文:sagas在这篇论文里,作者提出了将一个长事务,分拆成多个子事务,每个子事务有正向操作Ti,反向补偿操作Ci。假如所有的子事务Ti依次成功完成,全局事务完成假如子事务Ti失败,那么会调用Ci,Ci-1,Ci-2….进行补偿论文阐述了上述这部分基本的saga逻辑之后

    2022年9月15日
    0
  • PHP 中高级程序员面试模拟题

    PHP 中高级程序员面试模拟题

    2022年2月18日
    34
  • Linux stat函数_c++ stringbuffer

    Linux stat函数_c++ stringbuffer之前写过一篇关于stat命令的博客,介绍了stat命令的使用和输出信息表示,今天又见到了stat函数,因为输出原因,准备整理一下。stat函数介绍  根据《UNIX环境高级编程》中对于stat函数的解释,stat函数和stat命令一样,都是返回该文件的详细信息。函数定义为:#include<sys/types.h>#include&lt…

    2022年8月21日
    5

发表回复

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

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