Python - selenium无法使用PhantomJS获取元素文本

时间:2017-07-16 06:21:10

标签: python selenium phantomjs

除了td td

之外,我可以在其他class="datapid"内获取所有文字
  <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>

我在PhantomJS 2.1.1中使用了硒:

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

尝试获取字段,但只有datapid字段为空:

    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 = ''

1 个答案:

答案 0 :(得分:0)

最大化窗口后:

driver.maximize_window()

现在我可以在div内找到文本。

我认为这是因为webdriver不是简单地阅读源代码,而是从Windows获取它。如果node位于窗口之外,则webdriver

无法读取