我在网页上有一个隐藏的文本区域,直到单击一个复选框。它充满了我想要使用的xml。无论如何我能够获得那个HTML。即使在我的浏览器中单击它,文本区域的内容也不会出现在html中。我有办法访问这些数据吗?
<header>View XML</header>
<section>
<div class="row">
<div class="column-left label"></div>
<div class="column-right xmldraft">
<textarea id="xmldraft" class="text ui-widget-content ui-corner-all" rows="4" type="text" style="height: 300px;"></textarea>
</div>
</div>
</section>
我将使用以下代码获取文本区域
import requests
from lxml import html
payload = {'pass': 'PASSWORD', 'user': 'USER','submit':'go'}## Log in info
r = requests.get("http://WEBSITE.com/s2/job.php?orderID=ABCDEF&jobID=WXYZ", params=payload) ## Get page
tree = html.fromstring(r.text) ## break down webpage into parseable data
rawdata=tree.xpath(".//*[@id='xmldraft']") ## Get text area
但是当我尝试以下任何一项时,我都没有得到任何结果
>>>rawdata
[<TextareaElement 10ab55c00 name=None>]
>>>rawdata[0].text
>>>rawdata[0].text_content()
''
>>>rawdata[0].value
''
>>>rawdata[0].tag
'textarea'
编辑:看来填充它的javascript部分写在这里:
function update_XML() {
var Rserializer = new ONEGEEK.GSerializer();
var RserializedXML = Rserializer.serialize(website.job, 'MyRequest');
var serializer = new ONEGEEK.GSerializer();
var serializedXML = serializer.serialize(website.XMLResult, 'MyResult');
$('#xmldraft').css("height", 300);
$('#xmldraft').val(RserializedXML);
var txt = $("#xmldraft");
txt.val(txt.val() + "\n\n\n");
txt.val(txt.val() + serializedXML);
}
GSerializer没有来源,所以上面似乎是在传递数据。
我不确定如何找到更深层的来源,所以我只想使用硒