Selenium Javascript生成的HTML不完整,即使使用document.body.innerHTML也是如此

时间:2017-09-29 23:54:42

标签: javascript python html selenium web-scraping

我正在尝试从/加载后通过javascript修改的网页获取HTML。我已按照this tutorial中的说明操作。我在最初加载页面后在我的Python代码中使用这样的命令

html = browser.execute_script("return document.body.innerHTML")

虽然这似乎得到了其他网页上的所有HTML Selenium元素,我已经尝试过这个,但它似乎不适用于this page。如果您打开该页面并检查HTML,则可以看到所有HTML已加载。我想捕捉下面的元素,但不能。顺便说一句WebDriverWait似乎无法正常工作......

<b>
  <a href="contractor_list.asp?alpha=A">A&nbsp;</a>
  <a href="contractor_list.asp?alpha=B">B&nbsp;</a>
  <a href="contractor_list.asp?alpha=C">C&nbsp;</a>
  <a href="contractor_list.asp?alpha=D">D&nbsp;</a>
  ...

如何让Selenium向我展示这些元素,以便我可以访问它们?或者,我应该使用不同的工具吗?

1 个答案:

答案 0 :(得分:0)

这些元素包含在iframe元素中,这就是您无法与它们进行交互的原因。如果可能的话,尝试在iframe的源代码上运行脚本。