如何使用萤火虫/ Firepath在iframe上编写webelement的Xpath?

如何使用萤火虫/ Firepath在iframe上编写webelement的Xpath?

问题描述:

enter image description here如何使用萤火虫/ Firepath在iframe上编写webelement的Xpath?

  1. 我能写的Xpath带或不带萤火虫/ Firepath但如果有周围的工作写的Xpath使用这些第三方工具的iframe将是巨大的。

  2. 首先,我需要移动到iframe中,然后写正的XPath webElements

+0

请参阅:[我如何做X?](https://meta.*.com/questions/253069/whats-the-appropriate-new-current-close-reason-for-how-doi-i- do-x)对SO的期望是用户提出问题不仅仅是研究来回答他们自己的问题,而且还分享研究,代码尝试和结果。这表明你已经花时间去尝试帮助自己,它使我们避免重申明显的答案,最重要的是它可以帮助你得到更具体和相关的答案!另见:[问] – JeffC

使用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 

如果你不想要导航从你正在浏览的网页的时候,你有几个otions:

1)创建一个新的驱动器和导航有

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

+0

请看上面的图片,我很欣赏你的评论,但你的回答不是我的期望。我想专门为Fireframe使用iframes –

+0

您可能需要修复您的代码,以便正确的人员看到您的问题。你的问题似乎是关于firebug和xpath,而不是C#和Selenium。 –

+0

是的,我现在做了,谢谢。 –