【问题标题】:Click inside iframe using Actions (Selenium)使用 Actions (Selenium) 在 iframe 内部单击
【发布时间】:2015-11-10 07:23:52
【问题描述】:

我想使用 Selenium 的 Actions 类单击 iframe 内的某个点。但我正在尝试的代码没有点击。下面是代码:

Actions action = new Actions(driver);
action.MoveByOffset(x-coordinate, y-coordinate).Click().Perform();

我也试过像这样传递驱动程序:

Actions action=new Actions(driver.SwitchTo().Frame(0));

但它给出了错误,我找不到任何其他方法来通过选择框架的驱动程序。 我得到的错误是

无法定位第 0 帧

【问题讨论】:

  • 请插入错误信息。切换 iframe 后还能和 iframe 交互吗?
  • 我已经添加了错误信息

标签: c# selenium iframe


【解决方案1】:

你不能切换到 iframe,更好的方法是分配一个 iframe 对象的 swithc 给它。你需要通过xpath找到iframe:

IWebElement iframe =  driver.FindElement(By.XPath("//html//body//iframe"));
driver.SwitchTo().Frame(iframe);
Actions action = new Actions(driver);
action.MoveByOffset(x-coordinate, y-coordinate);
action.Click();
action.Perform();

【讨论】:

  • 它没有点击点,但我没有得到无法定位框架的错误。
  • @SidharthJain 我认为您可以切换到 iframe 但不能单击坐标。检查一下?
  • @SidharthJain 同时调用.click().perform 不起作用。检查更新的代码?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-22
  • 2018-05-21
  • 2021-01-20
相关资源
最近更新 更多