2017-09-20 2 views
0

Ich versuche, Daten von einer Website mit PhantomJS in Python zu schaben, wie ich in der Lage sein muss, ein Formular zu senden und dann auf eine Schaltfläche klicken, um zu einer Seite zu scrape gehen, aber Ich bekomme nur leere Seiten. Wenn ich die Seite Quelle drucken erhalten iIch kann keine Seite mit PhantomJS in Python Selen

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

Hier ist mein Code, ich ausdrücklich wartet haben und akzeptieren auch jede ssl-Protokoll

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") 

nicht sicher, warum dies nicht funktioniert, jede mögliche Hilfe würde geschätzt werden.

+0

try chrom ohne Kopf, https://developers.google.com/web/updates/ 2017/04/headless-chrome hoffe, dass es helfen wird, da einige Dinge, die nicht auf phantomjs funktionieren, auf chrome headless funktionieren – thebadguy

Antwort

0

Sie dieses Problem sehr leicht zu beheben, folgen Sie einfach zu fix err_cache_miss error sehr leicht,

+1

Bitte fügen Sie der Lösung einige Erklärungen hinzu –

Verwandte Themen