Centos7安装chrome+python3+selenium+webdriver实现chrome浏览器采集数据

‌Centos7安装chrome+python3+selenium+webdriver实现chrome浏览器采集数据

一、安装Google浏览器

yum install google-chrome -y  #如果不能装上的话就尝试下载安装
1、下载chrome
wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
2、安装chrome
yum install ./google-chrome-stable_current_x86_64.rpm

‌安装成功后,验证google的版本

google-chrome --version #查看chrome浏览器版本 如果显示版本号 则安装成功;

‌二、安装chromedriver浏览器驱动

注意chromedriver的版本,要与你安装的chrome版本对应上,这里的版本已经不是最新的。

版本列表:http://chromedriver.chromium.org/downloads

115及之后的新版本的浏览器驱动:https://chromedriver.com/download

国内淘宝的镜像地址:https://registry.npmmirror.com/binary.html?path=chromedriver/

下载chromedriver_linux64.zip

cd /opt/ #首先先进入OPT目录

wget https://storage.googleapis.com/chrome-for-testing-public/122.0.6261.94/linux64/chromedriver-linux64.zip  #122版本的浏览器驱动

unzip linux64/chromedriver-linux64  #解压文件

ls -ll chromedriver  #得到一个二进制可执行文件

mkdir -p /opt/driver/bin  #创建存放驱动的文件夹driver

mv chromedriver /opt/driver/bin/ #将chromedirver放入文件夹driver中bin下

‌配置环境变量

vim /etc/profile

# 添加内容
export DRIVER=/opt/driver
export PATH=$PATH:$DRIVER/bin

#保存文件

source /etc/profile #设置环境变量立即生效

chromedriver --version #查看驱动版本,能正常显示版本号 则设置成功;

‌三、安装Python3

yum install pyhton3 #即可正常安装

‌四、安装selenium

pip3 install selenium
五、编写测试python脚本
from selenium.webdriver import Chrome
from selenium.webdriver.chrome.options import Options
import time
import os.path
 
# 配置驱动路径
DRIVER_PATH = '/opt/driver/bin/chromedriver'
 
if __name__ == "__main__":
    # 设置浏览器
    options = Options()
    options.add_argument('--no-sandbox')
    options.add_argument('--headless')  # 无头参数
    options.add_argument('--disable-gpu')
    # 启动浏览器
    driver = Chrome(executable_path=DRIVER_PATH, options=options)
    driver.maximize_window()
 
    try:
        # 访问页面
        url = 'https://www.jianshu.com/u/a94f887f8776'
        driver.get(url)
        time.sleep(1)
 
        # 设置截屏整个网页的宽度以及高度
        scroll_width = 1600
        scroll_height = 1500
        driver.set_window_size(scroll_width, scroll_height)
 
        # 关闭浏览器
        driver.close()
        driver.quit()
 
    except Exception as e:
        print(e)

‌https://blog.csdn.net/u012887259/article/details/103306861/

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument('--headless')
browser = webdriver.Chrome(chrome_options=chrome_options)

browser.get('https://lumtest.com/myip.json')
print(browser.page_source)

‌解决无法加载浏览器插件的问题

from unknown error: page could not be found: chrome-extension://kmfmlecicfolmocapbbhilogaebehllm/_generated_background_page.html

解决方案:

一、安装Xvfb虚拟界面工具和xdpyinfo

yum install Xvfb -y
yum install xdpyinfo

二、安装Python虚拟桌面  pyvirtualdisplay

pip3 install pyvirtualdisplay

‌全部安装成功后,执行下面的python代码进行测试;注意:代码的红色#要删掉

from selenium.webdriver import Chrome
from selenium.webdriver.chrome.options import Options
from pyvirtualdisplay import Display
import time
import os.path

#启动虚拟窗口
display = Display(visible=0, size=(800, 800))
display.start()

# 配置驱动路径
DRIVER_PATH = '/opt/driver/bin/chromedriver'
 
if __name__ == "__main__":
    # 设置浏览器
    options = Options()
    options.add_argument('--no-sandbox')
    #options.add_argument('--headless')  # 无头参数
    options.add_argument('--disable-gpu')
    options.add_argument('--user-data-dir=/root/data/A-02')
    options.add_argument('--proxy-server=154.9.235.29:6666')
    options.add_argument('--load-extension=/root/py/zw/')
    # 启动浏览器
    driver = Chrome(executable_path=DRIVER_PATH, options=options)
    driver.maximize_window()
 
    try:
        # 访问页面
        time.sleep(1)
        url = 'https://zw.ul25.com/'
        driver.get(url)
        time.sleep(1)
        print(driver.page_source)
 
        # 设置截屏整个网页的宽度以及高度
        scroll_width = 1600
        scroll_height = 1500
        driver.set_window_size(scroll_width, scroll_height)
 
        # 保存图片
        img_path = os.getcw#d()
        img_name = time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime(time.time()))
        img = "%s.png" % os.path.join(img_path, img_name)
        driver.get_screenshot_as_#file(img)
 
        # 关闭浏览器
        driver.close()
        driver.quit()
 
    except Exception as e:
        print(e)

如果您喜欢本站,点击这儿不花一分钱捐赠本站

这些信息可能会帮助到你:下载帮助 | 报毒说明 | 进站必看

修改版本安卓软件,加群提示为修改者自留,非本站信息,注意鉴别

(0)

发表回复

评论问题之前, 点击我,能帮你解决大部分问题

评论列表(0条)

请用支付宝扫一扫完成支付