我已将html渲染为字符串,并将作为PDF响应返回
class ReportFileResponse(FileResponse):
def __init__(self, report, output_format):
....... # queries
if output_format == 'pdf':
super(ReportFileResponse, self).__init__(streaming_content=my_pdf_str,
content_type='application/pdf')
问题是该字符串包含某些绝对需要执行的js(修改某些块)。它可以在浏览器中(作为html)工作,但不能在PDF响应中执行。有什么方法可以执行JS代码吗?
我考虑使用Selenium并执行JS代码。但是,当您需要转到页面时,我该怎么做。但就我而言,我做不到。我无法转到页面,因为我已经渲染了html。
至少我需要进行getElementsByClassName
之类的查询并有权访问属性
P.S。对于渲染,我们使用django-weasyprint