python
  • selenium
  • scrapy
  • 2013-04-21 106 views 1 likes 
    1

    我想使用Scrapy來解析一個相對簡單的網頁集。主頁上有一堆看起來像鏈接:使用Selenium Python綁定的JavaScript鏈接

    <a name='LINK1$17' id='LINK1$17' tabindex='145' href="javascript:hAction_win0(document.win0,'LINK1$17', 0, 0, 'International Relations', false, true);" class='SSSAZLINK'>International Relations</a> 
    

    通過點擊該鏈接負載高達第二頁上其中一些我刮出現的細節。我確實需要從第一頁開始,因爲它可以作爲我抓取的所有這些東西的索引。我如何使用硒來運行該JavaScript操作?我試過了:

    import webdriver 
    driver = webdriver.Firefox() 
    driver.execute_script("javascript:hAction_win0(document.win0,'LINK1$17', 0, 0, 'International Relations', false, true);") 
    

    這沒有奏效。有沒有簡單的方法來「點擊」鏈接並得到什麼?

    +1

    你想在這裏使用硒只是點擊鏈接,對不對?然後,如果第二頁由ajax XHR請求加載 - 看看[這個線程](http://stackoverflow.com/questions/8550114/can-scrapy-be-used-to-scrape-dynamic-content-從-網站 - 即-被-使用的Ajax?LQ = 1)。 – alecxe 2013-04-22 07:09:13

    +1

    因此,基本上你應該使用瀏覽器開發工具來查看當你點擊鏈接時要向服務器發送什麼請求。然後,在Scrapy的[請求](http://doc.scrapy.org/en/latest/topics/request-response.html)的幫助下,您應該在抓取工具中模擬它。 – alecxe 2013-04-22 07:11:31

    回答

    0

    原來我使用的是正確的功能。以下調用工作:

    driver.execute_script("hAction_win0(document.win0,'LINK1$17', 0, 0, 'International Relations', false, true);") 
    

    我剛剛在開始時刪除了「javascript:」。

    相關問題