被测应用程序为功能生成一个 IFrame。我可以使用以下任何定位器策略 XPATH、CSS 或 LinkText 在 IFrame 上完美定位元素。但是,当我执行 a 时Click()
,代码会单击不同的位置。例如,屏幕上有一个包含 4 个答案的多项选择题,脚本应该单击第 3 个选项,但最终单击第 1 个选项。如果按钮根本无法单击该按钮,则问题会更加严重。该Click()
事件不会引发任何错误。我曾尝试使用该Action()
界面,但没有运气。会Action.Perform()
引发屏幕元素在 HTML 之外的错误。有人可以帮忙吗?
我正在使用 Selenium WebDriver (.NET) 版本 2.31 和 Firefox 19.0.2 与 .NET 框架 4.0。
driver.SwitchTo().Frame(2);
System.Threading.Thread.Sleep(20000);
IWebElement Answer1 = driver.FindElement(By.XPath(".//*[@id='question-reload']/div[3]/div[2]/ul/li[1]/a"));
Answer1.Click();
driver.FindElement(By.LinkText("Find the embassy")).Click();
IWebElement Next = driver.FindElement(By.XPath(".//*[@id='next']/b/i"));
int X = Next.Location.X;
int Y = Next.Location.Y;
Next.Click();
for (int i = 0; i < 59; i++)
{
System.Threading.Thread.Sleep(3000);
IWebElement newNext = driver.FindElement(By.XPath(".//*[@id='next']/b/i"));
newNext.Click();
}