2017-06-05 64 views
0

我使用selenium和ChromeDriver來測試XML響應。在Selenium Chrome驅動程序中獲取真實的XML源代碼

的反應是這樣的:

<?xml version="1.0" encoding="UTF-8"?> 
<d>test</d> 

但如果我get該URL的硒,鉻會自動呈現XML,使得page_source髒。

>>> from selenium import webdriver 
>>> b=webdriver.Chrome() 
>>> b.get('http://127.0.0.1/test.xml') 
>>> b.page_source 
'<?xml version="1.0" encoding="UTF-8"?><html xmlns="http://www.w3.org/1999/xhtml"><head><style id="xml-viewer-style">/* Copyright 2014 The Chromium Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style license that can be\n * found in the LICENSE file...' 

(你可以看到Chrome瀏覽器添加一個「XML查看」頁面源)

什麼是讓XML的真正來源的最佳做法?

ps。這個XML是由鉻擴展返回的,我將使用硒進行測試,因此「使用requestsurllib」不是一個解決方案。

回答

0

好吧,我的解決辦法是:

b.execute_script('return document.getElementById("webkit-xml-viewer-source-xml").innerHTML') 

這當然不是一個很好的做法,但至少工作。

相關問題