c#中的Selenium webdriver - 无法点击框架上的超链接
Selenium webdriver in c#-Unable click on hyperlink on frame
我正在使用 c# 中的 selenium Webdriver 进行自动化。所以在我的应用程序中,单击一个 link 后,主浏览器顶部会打开一个框架 window
所以我能够阅读该框架上的文本,简而言之,我可以切换到该框架。
有许多 hyperlink 的框架,我必须单击名为“Add/Change Admin Message”的 hyperlink。但是我使用下面的代码点击 link 但它在 IE 浏览器中向下滚动框架所以点击动作不是 performed.But 它在 chrome 浏览器中工作正常。
Driver.FindElement(By.XPath("//a[contains(text(),'"+"Add/Change Admin Message"+"')]")).Click();
我尝试过 xpath,cssselector,classname,Id,linktext,partial link text 但没有成功。
下面是那个 link 的 DOM,请帮帮我..
Add/Change管理员留言
首先,您需要切换到link所在的框架:
Driver.SwitchTo().Frame("frame name or id");
然后,您可以通过部分link文本:
定位link
Driver.FindElement(By.PartialLinkText("Add/Change Admin Message"));
对于 IE,这通常是您应该做的神奇事情,请尝试 通过 javascript 单击 link:
IWebElement link = Driver.FindElement(By.PartialLinkText("Add/Change Admin Message"));
IJavaScriptExecutor js = Driver as IJavaScriptExecutor;
js.ExecuteScript("arguments[0].click();", link);
我正在使用 c# 中的 selenium Webdriver 进行自动化。所以在我的应用程序中,单击一个 link 后,主浏览器顶部会打开一个框架 window 所以我能够阅读该框架上的文本,简而言之,我可以切换到该框架。 有许多 hyperlink 的框架,我必须单击名为“Add/Change Admin Message”的 hyperlink。但是我使用下面的代码点击 link 但它在 IE 浏览器中向下滚动框架所以点击动作不是 performed.But 它在 chrome 浏览器中工作正常。
Driver.FindElement(By.XPath("//a[contains(text(),'"+"Add/Change Admin Message"+"')]")).Click();
我尝试过 xpath,cssselector,classname,Id,linktext,partial link text 但没有成功。 下面是那个 link 的 DOM,请帮帮我.. Add/Change管理员留言
首先,您需要切换到link所在的框架:
Driver.SwitchTo().Frame("frame name or id");
然后,您可以通过部分link文本:
定位linkDriver.FindElement(By.PartialLinkText("Add/Change Admin Message"));
对于 IE,这通常是您应该做的神奇事情,请尝试 通过 javascript 单击 link:
IWebElement link = Driver.FindElement(By.PartialLinkText("Add/Change Admin Message"));
IJavaScriptExecutor js = Driver as IJavaScriptExecutor;
js.ExecuteScript("arguments[0].click();", link);