使用PhantomJS自动下载blob URL

时间:2018-01-16 09:43:01

标签: javascript jquery phantomjs blob export-to-csv

我正在尝试使用PhantomJS点击网站上的对象来自动下载CSV文件。

function() {
    (page.evaluate(function() {
        $("export2csv").click();
    }))
}

如果我在Chrome开发者控制台中运行此文件,则会开始下载CSV文件 Chrome会显示blob:https://website/seeminglyrandomstring作为其来源,这意味着我没有指向此文件的静态网址。

如果我在PhantomJS中运行它,那么就没有输出,就像它完成没有任何错误一样。但是我也没有得到我的档案。 在官方文档中有以下声明吗?

  

执行是沙盒,网页无法访问幻像对象,无法探测自己的设置。

我在 Windows

上使用PhantomJS 2.0.0

1 个答案:

答案 0 :(得分:0)

由于PhantomJS的局限性,我将尝试在Windows上使用Chlenmedriver和Selenium for Python。

编辑:

这是一个简单的解决方案:

import time
from selenium import webdriver

#xenoid 18.01.2018


#Starting the driver
chromeOptions = webdriver.ChromeOptions()

#Download directory
prefs = {"download.default_directory" : "C:/temp/"}
chromeOptions.add_experimental_option("prefs",prefs)
#Location to chromedriver
driver = webdriver.Chrome('C:\chromedriver\chromedriver.exe', 
chrome_options=chromeOptions)
driver.get("_URL_TO_WEBSITE_");
#Time it takes for the website to load
time.sleep(5)
#Click the button
button = driver.find_element_by_css_selector("_YOUR_CSS_SELECTOR_'")
button.click()
time.sleep(3)
driver.quit()