如何让Chrome加载XML原始文件?

如何让Chrome加载XML原始文件?,xml,selenium,google-chrome,xpath,render,Xml,Selenium,Google Chrome,Xpath,Render,我试图在Chrome中加载一个原始XML url,并使用XPath搜索结果XML。(这是硒测试的一部分。) 我很确定这以前是有效的,但现在,当我将浏览器指向XML URL时,它不是将XML原始文件转储,而是将其包装在一些HTML中 如果我在Chrome中加载URL,它会显示一个很好的原始文本。如果我在网络中查看预览或响应选项卡,我会看到负载中只发送了原始XML 我所期望的是: <Foo xmlns="some.site.com"> <Bar>123456</Bar&

我试图在Chrome中加载一个原始XML url,并使用XPath搜索结果XML。(这是硒测试的一部分。)

我很确定这以前是有效的,但现在,当我将浏览器指向XML URL时,它不是将XML原始文件转储,而是将其包装在一些HTML中

如果我在Chrome中加载URL,它会显示一个很好的原始文本。如果我在网络中查看预览或响应选项卡,我会看到负载中只发送了原始XML

我所期望的是:

<Foo xmlns="some.site.com">
<Bar>123456</Bar><Thingy>1</Thingy><Widget>4420.00</Widget><Hooby>29.00</Hooby>
</Foo>
输出:

html
head
body
pre
如何让Chrome只将XML呈现为XML,而不将其包装为HTML


我非常确定这在以前是有效的。

浏览器通常根据响应的
内容类型
标题值来决定如何呈现响应。对于XML,它必须是
application/XML

如果您的测试过去工作正常,那么可能是以前用来设置此类头的服务器,而现在没有。你必须决定这是否是一个缺陷


一种可能的解决方法是使用代理,将此头设置为表示XML内容的url的所有响应。

注意,这里使用的是XML,xmlns url是伪造的b/c,因此不允许我使用伪造的url发布。我的建议是使用selenium获取页面源代码,自己或使用xml解析库进行解析。我知道python有
驱动程序。page_source
,但不确定您使用的是哪种语言。似乎比尝试将插件加载到自动chromedriver会话更简单。我担心selenium的get source函数会返回在Inspector中看到的Chrome修改的HTML。我最终还是直接从JAVA访问了url,然后进行了XML解析。似乎没有必要…但是,我仍然可以看到一个场景,我不希望Chrome隐式地将原始数据包装成HTML。你说得对,它是以内容类型text/plain的形式出现的。。。。啊。。。这不是一个我可以控制的网站,我可能是唯一关心这种不匹配的人
for (WebElement e : driver.findElements(By.xpath("//*"))) {
    System.out.println(e.getTagName());
}
html
head
body
pre