2016-08-23 50 views
0

選擇一個單選按鈕,我試圖建立一個刮刀的website通過URL

我使用Scrapy,我能下車的頁面的信息。爲了縮小我的結果,我希望蜘蛛只看活躍的項目。用戶通過單擊單選按鈕來完成此操作:「Openstaan​​de aanbestedingen」。

我找不出要使用哪個網址,以便結果已經被打開。我試過this的一些變化

這確實選中了複選框,但它沒有檢查它。

有關如何通過URL實際檢查單選按鈕的任何想法?謝謝!

回答

0

TLDR:請嘗試重新創建POST請求。但是你可以使用JavaScript。

的過濾器在POST主體(未取得網址的查詢,你嘗試過)設置,例如:

aankondigingenplatform:aankondigingenplatform 
aankondigingenplatform:opdracht-diensten:on 
aankondigingenplatform:opdracht-leveringen:on 
aankondigingenplatform:opdracht-werken:on 
aankondigingenplatform:publicatie-datum:1 
aankondigingenplatform:publicatie-date-van: 
aankondigingenplatform:publicatie-date-tot: 
aankondigingenplatform:sluitings-datum:0 
aankondigingenplatform:sluitings-date-van:23-08-2016 
aankondigingenplatform:sluitings-date-tot: 
aankondigingenplatform:nationaal:on 
aankondigingenplatform:europees:on 
aankondigingenplatform:publicatie-vooraankondiging:on 
aankondigingenplatform:publicatie-aankondigingOpdracht:on 
aankondigingenplatform:publicatie-aankondigingGegundeOpdracht:on 
aankondigingenplatform:typeProcedure:org.jboss.seam.ui.NoSelectionConverter.noSelectionValue 
aankondigingenplatform:nederlands:on 
aankondigingenplatform:engels:on 
javax.faces.ViewState:j_id1 
aankondigingenplatform:j_id399:aankondigingenplatform:j_id399 

要看到自己這一點,你可以使用Chrome,並轉到網絡選項卡中的開發者安慰。

要模擬鼠標點擊選擇單選按鈕,您可以使用JavaScript,定位標記將不起作用。我仍然會建議重新構建POST(例如,嘗試使用Postman for Chrome)。

JavaScript示例使用jQuery

$("#aankondigingenplatform:sluitings-datum:1").prop("checked", true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table id="aankondigingenplatform:sluitings-datum" class="no-border marginBottom0"> 
 
    <tbody> 
 
     <tr> 
 
      <td> 
 
       <input type="radio" checked="checked" name="aankondigingenplatform:sluitings-datum" id="aankondigingenplatform:sluitings-datum:0" value="0" onclick="A4J.AJAX.Submit('aankondigingenplatform',event,{'similarityGroupingId':'aankondigingenplatform:j_id453','parameters':{'aankondigingenplatform:j_id453':'aankondigingenplatform:j_id453'} ,'containerId':'aankondigingenplatform:j_id269','actionUrl':'/tenderned\x2Dweb/aankondiging/overzicht/aankondigingenplatform'})"> 
 
       <label for="aankondigingenplatform:sluitings-datum:0" title=" Alle"> Alle</label> 
 
      </td> 
 
     </tr> 
 
     <tr> 
 
      <td> 
 
       <input type="radio" name="aankondigingenplatform:sluitings-datum" id="aankondigingenplatform:sluitings-datum:1" value="1" onclick="A4J.AJAX.Submit('aankondigingenplatform',event,{'similarityGroupingId':'aankondigingenplatform:j_id453','parameters':{'aankondigingenplatform:j_id453':'aankondigingenplatform:j_id453'} ,'containerId':'aankondigingenplatform:j_id269','actionUrl':'/tenderned\x2Dweb/aankondiging/overzicht/aankondigingenplatform'})"> 
 
       <label for="aankondigingenplatform:sluitings-datum:1" title=" Openstaande aanbestedingen"> Openstaande aanbestedingen</label> 
 
      </td> 
 
     </tr> 
 
     <tr> 
 
      <td> 
 
       <input type="radio" name="aankondigingenplatform:sluitings-datum" id="aankondigingenplatform:sluitings-datum:2" value="2" onclick="A4J.AJAX.Submit('aankondigingenplatform',event,{'similarityGroupingId':'aankondigingenplatform:j_id453','parameters':{'aankondigingenplatform:j_id453':'aankondigingenplatform:j_id453'} ,'containerId':'aankondigingenplatform:j_id269','actionUrl':'/tenderned\x2Dweb/aankondiging/overzicht/aankondigingenplatform'})"> 
 
       <label for="aankondigingenplatform:sluitings-datum:2" title=" Gesloten aanbestedingen"> Gesloten aanbestedingen</label> 
 
      </td> 
 
     </tr> 
 
     <tr> 
 
      <td> 
 
       <input type="radio" name="aankondigingenplatform:sluitings-datum" id="aankondigingenplatform:sluitings-datum:3" value="3" onclick="A4J.AJAX.Submit('aankondigingenplatform',event,{'similarityGroupingId':'aankondigingenplatform:j_id453','parameters':{'aankondigingenplatform:j_id453':'aankondigingenplatform:j_id453'} ,'containerId':'aankondigingenplatform:j_id269','actionUrl':'/tenderned\x2Dweb/aankondiging/overzicht/aankondigingenplatform'})"> 
 
       <label for="aankondigingenplatform:sluitings-datum:3" title=" Binnen 2 maanden"> Binnen 2 maanden</label> 
 
      </td> 
 
     </tr> 
 
     <tr> 
 
      <td> 
 
       <input type="radio" name="aankondigingenplatform:sluitings-datum" id="aankondigingenplatform:sluitings-datum:4" value="4" onclick="A4J.AJAX.Submit('aankondigingenplatform',event,{'similarityGroupingId':'aankondigingenplatform:j_id453','parameters':{'aankondigingenplatform:j_id453':'aankondigingenplatform:j_id453'} ,'containerId':'aankondigingenplatform:j_id269','actionUrl':'/tenderned\x2Dweb/aankondiging/overzicht/aankondigingenplatform'})"> 
 
       <label for="aankondigingenplatform:sluitings-datum:4" title=" Anders, namelijk:"> Anders, namelijk:</label> 
 
      </td> 
 
     </tr> 
 
    </tbody> 
 
</table>

+0

請原諒我的無知,但這意味着我是處理這個方法不會在所有的工作? –

+0

通過使用錨標記,您可以轉到相應的「id」,但只能使用javascript,您可以更改html中的選定單選按鈕,而不是僅使用錨標記。由於網絡控制檯顯示頁面上使用的表單使用POST作爲HTTP方法,而不是GET。其中使用POST正文進行設置。 http://www.w3schools.com/tags/ref_httpmethods.asp –

+0

明白了,謝謝! –