c#中的Selenium Web驱动程序-无法单击框架上的超链接



我在c#中使用selenium Webdriver进行自动化。因此,在我的应用程序中,单击一个链接后,主浏览器窗口顶部会打开一个框架所以我可以阅读那个框架上的文本,简而言之,我可以切换到那个框架。框架有许多超链接,我必须单击名为"添加/更改管理消息"的超链接。但我使用下面的代码来点击链接,但它在IE浏览器中向下滚动,所以不会执行点击操作。但它在chrome浏览器中运行良好。

Driver.FindElement(By.XPath("//a[包含(text(),'"+"添加/更改管理消息"+"')]").Click();

我尝试过xpath、cssselector、类名、Id、链接文本、部分链接文本,但没有成功。下面是该链接的DOM,请帮助我。。添加/更改管理消息

首先,您需要切换到链接所在的帧

Driver.SwitchTo().Frame("frame name or id");

然后,您可以通过部分链接文本来定位链接:

Driver.FindElement(By.PartialLinkText("Add/Change Admin Message"));

对于IE,你通常应该做一些神奇的事情,尝试通过javascript点击链接:

IWebElement link = Driver.FindElement(By.PartialLinkText("Add/Change Admin Message"));
IJavaScriptExecutor js = Driver as IJavaScriptExecutor;
js.ExecuteScript("arguments[0].click();", link);

最新更新