2017-06-20 4 views

答えて

0

あなたは直接関与せずにセレンURLにリクエストを送信し、PDFファイルの内容をバイト配列を取得することができます。その後、いくつかのPDFライブラリを使用してファイルコンテンツを読むことができます(ITextSharpのように見えます)。

0

Chromeブラウザ内では、すべてのダイアログポップアップはhtmlページなので、Seleniumを使用してそれらをクリックできます。 あなたの場合は、ページに移動し、Ctrl + Pキーボードボタンを押す、ダイアログボックスの印刷に切り替える、変更ボタンをクリックしてプリンタを変更する、PDFに保存する、保存ボタンをクリックする、 - simulate実際にファイルを保存するには、キーボードボタンを押します。 私はC#をしませんが、ここではJavaのように見えますが、実際にはテストして実際に動作します:

Robot robot = new Robot(); 
robot.keyPress(KeyEvent.VK_CONTROL); 
robot.keyPress(KeyEvent.VK_P); 
robot.keyRelease(KeyEvent.VK_P); 
robot.keyRelease(KeyEvent.VK_CONTROL); 

// get current browser window handles and switch to window with handle that is last in the list 
Set<String> windowHandles = driver.getWindowHandles(); 
for (String handle : windowHandles) { 
    driver.switchTo().window(handle); 
} 

driver.findElement(By.xpath("//button[contains(text(), 'Change')]")).click(); 
driver.findElement(By.xpath("//span[contains(text(), 'Save as PDF')]")).click(); 
driver.findElement(By.xpath("//button[contains(text(), 'Save')]")).click(); 

// you might need to add waiter here that waits a second, since script is too fast 
// and needs to wait for save dialog box to be shown 

robot.keyPress(KeyEvent.VK_ENTER);