Selenium Webdriver интерпретирует локальный файл с не html-окончанием как html - PullRequest
0 голосов
/ 12 октября 2019

Я скачал несколько сайтов, у которых есть файл с именем snapshot, когда я его открываю

from selenium import webdriver
driver = webdriver.Remote(service.service_url)
driver.get("file:///Users/test/website.snapshot");

Когда я открываю драйвер как этот, я получаю сайт в виде HTML-текста (не анализируется / не интерпретируется). Однако, когда я переименовываю этот файл в website.html, он корректно загружает сайт. Вместо того, чтобы переименовывать эти файлы, мне было интересно, есть ли способ указать драйверу интерпретировать путь как HTML-файл?

1 Ответ

0 голосов
/ 12 октября 2019

С SeleniumHQ (строка 326-330):

def get(self, url):
        """
        Loads a web page in the current browser session.
        """
        self.execute(Command.GET, {'url': url})

Я не вижу никаких дополнительных опций для перехода к функции driver.get().

К сожалению, я думаю, что вы не можете избежать переименования. Я предлагаю этот обходной путь: выполните сопоставление регулярного выражения для переименования, затем вызовите eval(), как показано ниже,

txt = 'driver.get("file:///Users/test/website.snapshot")'
to_eval = re.sub(r'\.[a-z]+(?=")', '.html', txt)
#'driver.get("file:///Users/test/website.html")'
eval(to_eval)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...