如何找出 iframe 的 xpath.以下是所附图片



我需要在下图中找到文本"与您的搜索相关的品牌">

我怎样才能写出 xpath。文本存在于没有 id 或类或没有唯一标识符的 iframe 中。我想使用span数据组件ID找到它,但它不起作用。

By.xpath("//span[@data-component-id='36']/iframe

请帮忙

https://i.stack.imgur.com/7EW5n.png

你不能遍历<iframe>上的元素,它存在于不同的上下文中。您需要激活或切换到 iframe 的上下文,例如。使用 JavaScript 与 iframe 及其内部的文档进行交互。

//Note: Assigning document.domain is forbidden for sandboxed iframes, i.e. on stacksnippets
//document.domain = "https://stacksnippets.net";
var ifrm = document.getElementById("myFrame");
// reference to iframe's window
//var win = ifrm.contentWindow;
// reference to document in iframe
var doc = ifrm.contentDocument ? ifrm.contentDocument : ifrm.contentWindow.document;
// reference an element via css selector in iframe
//var form = doc.getElementById('body > div > div.message');
// reference an element via xpat in iframe
var xpathResult = doc.evaluate("/html/body/div/div[1]", doc, null, XPathResult.ANY_TYPE, null);
<iframe id="myFrame" src="https://stacksnippets.net" style="height:380px;width:100%"></iframe>

但是,正如您在运行截图时所看到的那样,仅当文档具有相同的来源时,才能进行跨文档交互。还有其他更复杂的方法,如postMessage方法,它们提供了跨域交互的方法。

最新更新