ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

docker selenium 使用心得

2021-11-07 12:35:57  阅读:185  来源: 互联网

标签:standalone chrome Selenium selenium ip docker 心得


最近爬虫遇到了反爬策略较高的站点,通过百度了解到 selenium + chrome。

开始想着自己搭建环境,即 java + selectnium + chrome + chrome_driver。在搭建的过程中发现在兼容chrome的时候坑多, 最终放弃并选择了docker

# 搜索镜像  docker search 镜像名称
docker search  selenium

# selenium/base: 包括 Selenium Server Jar包的基础镜像
# selenium/hub: Selenium Grid Hub 节点
# selenium/node-base: Selenium Node 节点的基础镜像
# selenium/node-chrome: 安装有 Chrome 的 Selenium Node 节点镜像
# selenium/node-firefox: 安装有 Firefox 的 Selenium Node 节点镜像
# selenium/node-chrome-debug: 安装有 Chrome 的 Selenium Node 节点镜像,包含远程桌面
# selenium/node-firefox-debug: 安装有 Firefox 的 Selenium Node 节点镜像,包含远程桌面
# selenium/standalone-chrome: 安装有 Chrome,独立运行的 Selenium
# selenium/standalone-firefox: 安装有 Firefox,独立运行的 Selenium
# selenium/standalone-chrome-debug: 安装有 Chrome,独立运行的 Selenium,包含远程桌面
# selenium/standalone-firefox-debug: 安装有 Firefox,独立运行的 Selenium,包含远程桌面

# 在列表中找到想用的版本 我选择  selenium/standalone-chrome
docker pull selenium/standalone-chrome

# 启动容器
docker run -d --name chrome -p 4444:4444  --shm-size="2g" selenium/standalone-chrome
# -d 后台运行容器 
# --name 给运行的容器命名
# -p 宿主机暴露端口:映射到容器内部的端口
# --shm-size="分配给容器的内存" 

# 容器运行起来后,用facebook团队开发的 php-webdriver
# 进入项目目录
cd your_project_path
# 安装 php-webdriver
composer require php-webdriver/webdriver
# 安装后使用教程可参考  https://github.com/php-webdriver/php-webdriver

 

# 在使用过程中,遇到docker 不可访问外网 
# 检查ip转发是否打开
sysctl net.ipv4.ip_forward
# 输出 net.ipv4.ip_forward=0 
# 或者运行 
cat /proc/sys/net/ipv4/ip_forward 
# 输出 0 则表示ip转发未打开

# 临时打开ip转发 
echo 1 > /proc/sys/net/ipv4/ip_forward
# 永久打开ip转发 
vim /etc/sysctl.conf # 修改 net.ipv4.ip_forward = 1
# 修改后可以重启系统来使修改生效,也可以执行下面的命令来使修改生效:
sysctl -p /etc/sysctl.conf

 后续有遇到问题再来更新,各路大神可以在评论指出不足,或者一起探讨

标签:standalone,chrome,Selenium,selenium,ip,docker,心得
来源: https://www.cnblogs.com/cidgur/p/15519408.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有