Автоматизация браузера Chrome без использования драйвера Chrome и Selenium в Ubuntu - PullRequest
0 голосов
/ 07 октября 2018

В настоящее время я пытаюсь автоматизировать Chrome Browser (не Chrome Driver) в Ubuntu для сохранения тысяч страниц без Chrome Driver и Selenium, которые каким-то образом запрещены сайтом.

В Mac OS AppScript может обрабатыватьХром без Хром Драйвер и Селен.И мне удается автоматизировать загрузку страницы.Однако я не нашел альтернативы AppScript в Ubuntu.

Таким образом, я использую инструмент автоматизации keyborad (xdotool), ссылаясь на automate-save-page-as .Он позволяет мне открыть одну страницу и сохранить ее в хранилище, но он слишком медленный, нестабильный и трудный для понимания кода.

Существует ли какой-либо вероятный способ автоматизации браузера Chrome без использования Selenium и Chrome Driver вUbuntu?Или кто-нибудь может дать несколько советов, чтобы открыть несколько страниц одновременно с помощью xdotool и сохранить их на локальном компьютере через несколько секунд?

1 Ответ

0 голосов
/ 09 октября 2018

Я реализую решение этой проблемы.Проверьте "ubuntu_automation_example_multiple.py".

https://github.com/jonghkim/browser-automation-beyond-firewall

Я пишу два основных файла сценария, которые являются "save_page_as_multiple_open" и "save_page_as_multiple_save", ссылаясь на automate-save-page-as .

#-*- coding: utf-8 -*-
import os
import warnings
import time
warnings.filterwarnings('ignore')

def trick_open(url, fname):
    cmd = "./save_page_as_multiple_open '{}' --destination '{}'".format(url, fname)
    os.system(cmd)

def trick_save(url, fname):
    cmd = "./save_page_as_multiple_save '{}' --destination '{}'".format(url, fname)
    os.system(cmd)

if __name__ == "__main__":
    url = 'https://www.example.com'
    cwd = os.getcwd()

    for i in range(5):
        trick_open(url, cwd + "/example{}.html".format(i))

    time.sleep(5)

    for i in reversed(range(5)):
        print("Save Path: ", cwd + "/example{}.html".format(i))
        trick_save(url, cwd + "/example{}.html".format(i))

    cmd = "killall google-chrome"
    os.system(cmd)

В "save_page_as_multiple_open" он открывает несколько URL с помощью xdotool.После этого «save_page_as_mutiple_save» сохраняет каждую страницу и закрывает страницу в обратном порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...