2010-12-13 56 views
0

我們通過調用Web服務來生成pdf文檔,該服務返回生成的文檔的路徑。 我們使用嵌入HTML標記來顯示PDF內嵌,即使用Selenium檢查嵌入標籤的包含

<div id="ctl00_ContentPlaceHolder2_ctl01_embedArea"> 
     <embed wmode="transparent" src="http://www.company.com/vdir/folder/Pdfs/file.pdf" width="710" height="400"/> 

我想使用硒檢查實際上正在顯示的PDF,如果可能,保存路徑,即SRC鏈接成變量。

任何人都知道如何做到這一點?理想情況下,我們希望能夠將此pdf與參考文獻進行比較,但這是另一天的問題。

回答

1

就硒檢查PDF而言,你或多或少不幸。 embed標籤只是將一個插件放入頁面,並且由於插件在DOM中沒有很好的表現,Selenium無法很好地處理它。

但是,如果您使用的是Selenium-RC,則可能需要考慮獲取嵌入元素的src,然後直接請求該URL並在代碼中評估生成的PDF。假設您的嵌入元素看起來像這樣<embed id="embedded" src="http://example.com/static/pdf123.pdf" />你可以嘗試這樣的事情

 String pdfSrc = selenium.getAttribute("[email protected]"); 

然後做一個Web請求的URL pdfSrc做(在某種程度上)驗證它是你想要的。僅僅檢查它不是404就足夠了。