我写一个小C#应用程序从我们的供应商管理我们的安全数据表(化学品)。
目前,我手动搜索化学和保存PDF和我的程序添加一个链接到PDF。 问题是,我仍然有许多化学去所以这将是更好的过程自动化。
例如:化学具有以下部件号:271004
包含PDF链接是在这里:
链接
我一直在阅读页面的源代码,但不能找到一个链接到PDF
但我的HTML / JavaScript的知识是有限的,以目前.....
有没有什么方法来提取网页的PDF?
在此先感谢您的任何建议:)
我写一个小C#应用程序从我们的供应商管理我们的安全数据表(化学品)。
目前,我手动搜索化学和保存PDF和我的程序添加一个链接到PDF。 问题是,我仍然有许多化学去所以这将是更好的过程自动化。
例如:化学具有以下部件号:271004
包含PDF链接是在这里:
链接
我一直在阅读页面的源代码,但不能找到一个链接到PDF
但我的HTML / JavaScript的知识是有限的,以目前.....
有没有什么方法来提取网页的PDF?
在此先感谢您的任何建议:)
看在页面ID为“iframe元素msdsPageFrame
”。 该src
该元素的属性包含URL到您的PDF。 下载该网址。
如果您有关于如何下载的URL或如何在搜索解析页面的ID,问另外一个问题的问题。
现在,我能够使用的产品代码访问PDF文件直接:
www.sigmaaldrich.com/MSDS/MSDS/DisplayMSDSPage.do?country=NL&language=EN-generic&productNumber = 271004&品牌= SIAL&PageToGoToURL = NULL
使用下面的代码我尝试下载PDF格式:
private void Download()
{
webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed); // Uses the Event Handler to check whether the download is complete
webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged); // Uses the Event Handler to check for progress made
webClient.DownloadFileAsync(new Uri("http://www.sigmaaldrich.com/MSDS/MSDS/DisplayMSDSPage.do?country=NL&language=EN-generic&productNumber=271004&brand=SIAL&PageToGoToURL=null"), @"C:\Users\test\Downloads\newfile.pdf"); // Defines the URL and destination directory for the downloaded file
}
private void ProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
Debug.WriteLine("DownloadProgressChangedEventHandler");
}
private void Completed(object sender, AsyncCompletedEventArgs e)
{
Debug.WriteLine("AsyncCompletedEventHandler");
}
然而,这是行不通的。 的问题是,PDF首先产生(需要几秒钟)。 然而,AsyncCompletedEventHandler被触发的时候了。 我认为这是问题,为什么PDF文件没有下载。