我有一个网页,其中包含一些我感兴趣的信息。但是,这些信息是由 Javascript 生成的。
如果您执行以下类似操作:
browser = webdriver.Chrome()
browser.set_window_size(1000, 1000)
browser.get('https://www.xxx.com') # cannot make the web public, sorry
print browser.page_source
它只打印出一些 javascript 函数和一些不包含我想要的信息的标题 - 供应商描述等......所以,当我尝试使用 Selenium 收集这些信息时,browser.find_element_by_class_name 找不到我想要成功的元素。我尝试了下面的代码,假设它与在 javascript 控制台中键入文档具有相同的效果,但显然不是。
result = browser.execute_script("document")
print result
它返回NULL ...
但是,如果我在 Chrome 中打开页面,请右键单击元素并检查元素。我可以看到填充的源代码。见附图。
此外,我受到这个有很大帮助的赞扬的启发。我可以在 Chrome 中打开 javascript 控制台,如果我输入
document
我可以看到完整的 html 坐在那里,这正是我想要的。我想知道有没有办法使用 selenium 存储 js 填充的源代码?
我读过一些帖子说它需要一些安全工作才能将填充的文档存储到客户端。
希望我已经说清楚了,并感谢任何建议或更正。(注意,我对 JS 的经验为零,因此将不胜感激详细的解释!)