2017-09-20 1 views
0

J'essaye de gratter des données d'un site Web using PhantomJS en python comme je dois pouvoir soumettre un forme et puis cliquer sur un bouton pour aller à une page pour gratter, mais Je ne reçois que des pages vides. Quand j'imprimer la page source i obtenirImpossible de recevoir la page en utilisant PhantomJS en python selenium

<html><head></head><body></body></html>

Voici mon code, j'ai attend explicites et aussi accepter tout protocole ssl

driver = webdriver.PhantomJS(service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any']) 
     driver.set_window_size(1280,1024) 
     driver.get('http://59.180.234.21:85/index.aspx') 
     try: 
      delay = 5 #No of seconds 
      myElem = WebDriverWait(driver, delay).until(EC.presence_of_element_located((By.ID, 'ddlDistrict'))) 
      select = Select(driver.find_element_by_id('ddlDistrict')) 
      select.select_by_value("165") 
      try: 
       myElem = WebDriverWait(driver, delay).until(EC.presence_of_element_located((By.ID, 'ddlPS'))) 
       select = Select(driver.find_element_by_id('ddlPS')) 
       select.select_by_value('02') 
       select = Select(driver.find_element_by_id('ddlYear')) 
       select.select_by_value('2011') 
       element = driver.find_element_by_id("txtRegNo") 
       element.send_keys("100") 
       driver.find_element_by_id("btnSearch").click()  

       try: 
        myElem = WebDriverWait(driver, delay).until(EC.presence_of_element_located((By.ID, 'DgRegist_ctl03_imgDelete'))) 
        print ("Record found!", ps_no, year) 
        #driver.save_screenshot('before.png') //For Bug Testing 
        driver.find_element_by_id("DgRegist_ctl03_imgDelete").click() 
        #driver.save_screenshot('after.png') //For Bug Testing 
        soup=BeautifulSoup(driver.page_source, "html.parser") 
        csv_writer_data(soup) 

       except TimeoutException: 
        print ("No records found!") 

      except TimeoutException: 
       print('ddlps not found') 

     except TimeoutException: 
      print("ddlDistrict not found") 

Je ne sais pas pourquoi cela ne fonctionne pas, toute aide être apprécié.

+0

essayer sans tête chrome, https://developers.google.com/web/updates/ 2017/04/headless-chrome espère que cela aidera aussi peu de choses qui ne fonctionnent pas sur phantomjs fonctionne sur le chrome sans tête – thebadguy

Répondre

0

Vous pouvez résoudre ce problème très facilement, il suffit de suivre à fix err_cache_miss error très facilement,

+1

S'il vous plaît ajouter quelques explications à votre solution –