-1

在此处输入图像描述

  1. 我可以使用或不使用 Firebug/Firepath 来编写 Xpath,但如果可以使用这些第三方工具使用 iframe 编写 Xpath,那就太好了。

  2. 首先我需要移动到 iframe 然后为 webElements 编写常规 Xpath

4

1 回答 1

1

使用 xpath 查找 iframe。然后使用 getattribute() 获取 src。然后导航到 src。

例如:

var myFrame = driver.FindElement("descendant::iframe[@name='TheIFrame']");
string frameSrc = myFrame.GetAttribute("src");
driver.Navigate().GoToUrl(frameSrc);
//now you're on the frame and interact with its DOM

如果你不想离开你所在的页面,你有几个选项:

1)创建一个新的驱动程序并在那里导航

2)使用httpclient(比驱动程序的开销少)通过向src url发送get来获取内容,然后使用HTMLAgilityPack将其加载到可以使用XPath导航的HTMLDoc中 - 当然这会让你抓取数据但你赢了'无法单击按钮或与 javascript 交互。

于 2017-11-18T01:59:00.737 回答