为什么PhantomJS呈现的html不完整,带有特殊字符?

时间:2016-04-01 12:39:32

标签: c# selenium-webdriver phantomjs

在自动化我们的Web测试(C#,Selenium WebDriver 2.53.0,PhantomJS 2.1.1)时,我无法找到一些元素。当我查看父元素的innerHTML时,我看到,PhantomJS生成的html是1)不完整的,2)包含特殊字符 - 请参阅摘录。

<div class=\"buttons\">
  <table cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" cl=""
ass=\"button_line\">
    \r\n\t\t\t\t\t\t\t<tbody>
      <tr>
        \r\n\t\t\t\t\t\t\t\t<td></td>\r\n\t\t\t\t\t\t\t\t<td>&nbsp;</td>\r\n\t\t\t\t\t\t\t\t<td></td>\r\n\t\t\t\t\t\t\t\t<td>&nbsp;</td>\r\n\t\t\t\t\t\t\t\t<td></td>\r\n\t\t\t\t\t\t\t\t<td>&nbsp;</td>\r\n\t\t\t\t\t\t\t\t<td></td>\r\n\t\t\t\t\t\t\t\t<td>&nbsp;</td>\r\n\t\t\t\t\t\t\t\t<td width=\"100%\">&nbsp;</td>\r\n\t\t\t\t\t\t\t
      </tr>\r\n\t\t\t\t\t\t
    </tbody>
  </table>\r\n\t\t\t\t\t\t
</div>"

使用chrome,html代码更复杂 - 例如此表中还包含更多子元素,这些元素在摘录中。 PhantomJS太快了,所以有些代码没有机会更新吗? (如何强迫这个?)为什么会有这些角色? (我该如何解决这个问题?)

更新1: 正如所建议的那样,How to wait for element to load in selenium webdriver?可能会回答这个问题,但我认为这是另一个问题。正如我在其中一条评论中所建议的那样,我已经在使用ImplicitWait,它适用于所有其他浏览器。我甚至尝试过显式等待并将它用于PhantomJS中有问题的部分,但无济于事:(。

也许要添加更多信息:有问题的测试与使用PhantomJS中的javascript和页面刷新有关。

通常情况就像选择一些Overview表中的行,然后检查详细信息部分中的值(字段)(在此之前为空 - 没有显示任何字段)。

0 个答案:

没有答案