2015-11-27 53 views
-3

這應該很簡單,但我在使其正常工作時遇到問題。從頁面獲取鏈接並將其打印出來

這是用於提供物體的小型倉庫。當某人命令它自動生成的頁面上出現的東西時。這是一個的index.php這是包含打印鏈接代碼:

<tr class=""> 
    <td width="244" align="left"> 
    <p style="padding-left:5px; "> 
     <strong>1.</strong> 
     <strong style=" font-weight:bold; font-size:12">Client Name</strong> 
     <br/>  
     <a href="http://site/orders/order.php?id_comanda=15284656" 
     target="_blank" onClick="this.blur()">15284656 - auto</a> 
     <br /> 
     <a href="marfa-pregatita.php?nr_aviz=401599413&nr_disp=18129704&act=2" 
     target="_blank" onClick="this.blur()">printing link</a><br> 
     <span style='color: #FF0000'>times printed : 
     <span style='font-weight:bold';font-size:10pt>1</span> x</span>    
    </p> 
    <a name="df_18129704"></a> 
    </td> 

有多個代碼這樣的編號從1在頁面上究竟有多少。 「打印鏈接」需要打開並打印此訂單的每個人。我對Java編碼頗爲陌生。如何才能做到這一點?打印鏈接僅在「nr_aviz=401599413&nr_disp=18129704」更改時才更改實際數字。請幫忙!我希望這可以作爲Chrome上的插件運行。

+1

你看過使用Selenium之類的自動瀏覽器驅動嗎?一個簡單的腳本可以自動執行點擊每個鏈接並打印它的過程。雖然我認爲處理這個問題的正確方法是將其添加到服務器本身,而不是通過客戶端來完成。也許是PDF下載或類似的東西。 – SnareChops

+2

不要混淆Java和JavaScript,這是兩種截然不同的語言。此外,您現在不應該期望太多的問題答案:它過於寬泛(您是否有問題獲取網頁的內容?解析它?顯示它?),並且您不顯示您已完成的工作。 – Aaron

回答

0

如果您想開發Chrome擴展程序,請參閱Chrome Extenstions developper documentation以開始使用。你將不得不編寫Javascript代碼(而不是Java,這是一種非常不同的語言)。

您可以通過使用Javascript CSS selectors API,像這樣選擇每個印刷環節:

// selects links (<a ...>) where attribute "href" starts with "marfa-pregatita.php" 
var selector = 'a[href^="marfa-pregatita.php"]'; 
var links = document.querySelectorAll(selector); 

// for each link, click on it 
for (var i=0; i<links.length; i++) { 
    var link = links[i]; 
    if (link.text == "printing link") { 
    link.click(); 
    } 
} 

您也可以在Chrome瀏覽器開發工具中運行這個(擊中Ctrl + Shift + I打開它)。進入控制檯選項卡並直接鍵入您的代碼,或者在Sources選項卡中添加您的腳本作爲代碼片段。這是開始創建擴展的好地方。

希望這會有所幫助。

相關問題