2017-07-16 1 views
0

ich den ganzen Text in den anderen td s, mit Ausnahme von td mit class="datapid"Python - Selen nicht in der Lage Element Text mit PhantomJS zu bekommen

<tr> 
    <td class="cregion">JP</td> 
    <td class="datacompany"><a href="/company/10644-tecmo">Tecmo</a></td> 
    <td class="datapid">P99-00001</td> 
    <td class="datapid">4960677070033</td> 
    <td class="cdate">02/06/03</td> 
    <td class="datarating">&nbsp;</td> 
    </tr> 

mit PhantomJS 2.1.1 Ich verwende Selen bekommen kann:

driver = webdriver.PhantomJS(
"c:/phantomjs-2.1.1-windows/bin/phantomjs.exe") 

der Versuch, um die Felder zu bekommen, sondern nur das datapid Feld leer:

cregions = driver.find_elements(
    By.CLASS_NAME, "cregion") 
    for region in cregions: 
     regions.append(region.text) 

    datacompanies = driver.find_elements(
    By.CLASS_NAME, "datacompany") 
    for company in datacompanies: 
     publishers.append(company.find_element(By.XPATH, "a").text) 

    datapids = driver.find_elements(
    By.CLASS_NAME, "datapid") 
    for i in range(0, (len(datapids))): 
     if i % 2: 
      pids.append(datapids[i].text) //datapids[i].text = '' 
+0

gelesen werden, was passiert mit für PID in Datapids: pids.append (pid.text) –

Antwort

0

Nach den Fenstern zu maximieren:

driver.maximize_window() 

jetzt kann ich den Text innerhalb der div bekommen.

Ich denke es ist, weil das webdriver nicht einfach den Quellcode liest, aber es von einem Windows bekommt. Wenn die node außerhalb des Fensters ist, konnte es nicht von webdriver

Verwandte Themen