0

В моем следующем коде я управляю использовать Selenium Chromedriver для загрузки файла с веб-сайта и проверить некоторые из его содержание:Python: Как я могу получить мой код для открытия файла для работы как с Chrome, так и с Firefox Webdrivers?

def FileCheck(self, filedirectory, fileextension, searchparameter): 
total = 0 
datetoday = time.strftime("%Y%m%d%I%M") 
filename = "%s%s%s" % (filedirectory, datetoday, fileextension) 
inputfile = open(filename) 
for line in inputfile: 
    if re.search(searchparameter, line): 
     print('Search Match Found!') 
     if line != 1 and line != 0: 
      total += 1 
print total 
time.sleep(3) 

Я, кажется, сталкивается проблем с выполнением этого кода на драйвер Selenium для Mozilla Fire Fox. Веб-браузер реагирует, отображая всплывающее окно с различными параметрами Open, которые нужно щелкнуть перед загрузкой файла.

Кто-нибудь знает, как бороться с этим всплывающим окном Firefox, чтобы приведенный выше код работал на веб-браузере Firefox, как на Chrome?

+0

Я не вижу упоминаний о 'Selenium' или' chromedriver' в вашем коде. В чем проблема? Покажите, как вы обрабатываете запрос загрузки файла в 'Chrome'? – Andersson

ответ

0

Мне удалось разрешить всплывающее окно Firefox при загрузке, импортировав FirefoxPreferences. Я использовал следующий код:

import os 
from selenium import webdriver 

profile = webdriver.FirefoxProfile() 
profile.set_preference('browser.download.folderList', 2) 
profile.set_preference('browser.download.manager.showWhenStarting', False) 
profile.set_preference('browser.download.dir', os.getcwd()) 
profile.set_preference('browser.helperApps.neverAsk.saveToDisk', 'text/csv/xls') 
driver = webdriver.Firefox(profile)