无法使用Selenium

时间:2018-09-01 08:49:00

标签: c# selenium automation

我正在尝试编写C#Selenium脚本来更改以下项目的大小:http://automationpractice.com/index.php

即使尝试先切换到框架,我也无法定位iframe弹出窗口中的任何内容。

要显示iframe,我使用以下方法单击了项目1的快速视图:

var element = 
driver.FindElement(By.XPath("//*[@id=\"homefeatured\"]/li[1]/div/div[1]/div/a[1]/img"));
Actions actions = new Actions(driver);
actions.MoveToElement(element);
actions.Click();
actions.Perform();

然后显示了iframe窗口,但是即使尝试使用以下命令切换到该窗口,我也无法在其中找到任何内容:

第3帧是Firefox选择的内容。

driver.SwitchTo().Frame(3);

选择默认值,然后选择其他帧。

driver.SwitchTo().DefaultContent(); 

尝试使用框架名称

driver.SwitchTo().Frame("fancybox-margin fancybox-lock");

尝试框架ID的0、1、2、3

它永远找不到XPath,ID,Name或其他任何元素。我正在尝试缩小尺寸以进行更改。

即使我尝试了许多其他更高级别的操作,我仍在寻找的XPath是

//*[@id="group_1"]

任何帮助都非常感激我被困扰了这么长时间。

2 个答案:

答案 0 :(得分:0)

使用此按钮进行切换,它将起作用,Id末尾由一些数字组成,并且还在不断变化。

driver.SwitchTo().Frame(By.Xpath("//iframe[starts-with(@id,'fancybox-frame')]"));

答案 1 :(得分:0)

最终设法解决了该问题,又有一个iframe停在了下一个位置,因此它失败了,因为它定位到iframe 3后以iframe 1或2为目标。在iframe完成加载之前。