我试图找到任何解决方案但没有任何帮助我。
我有这个元素
<span data-lkd="GUI-411396" data-lkta="tc" data-lkda="title" class="panelbar_item" title="Hledat">Form</span>
在Selenium中我找到了
IWebElement form = GetElementAndWaitForEnabled(By.CssSelector("span[data-lkd=\'GUI-411396\']"));
这部分没问题。但如果尝试点击IE11中的这个元素没有任何事情发生
find.Click()
我尝试了一些解决方案:
driver.SwitchTo().Window(driver.CurrentWindowHandle);
find.SendKeys(Keys.Enter);
find.Click();
但没有任何事情发生。在Chrome和Firefox中,通常会点击元素。 如果我clik in其他元素例如按钮它适用于IE 11.但我需要点击这个元素。
我正在使用Selenium v2.46.0,IE 11(x86,x64)。
答案 0 :(得分:2)
使用IE浏览器,你应该做的事总是多余的。试试这个“特殊”技巧:
IJavaScriptExecutor js = driver as IJavaScriptExecutor;
js.ExecuteScript("arguments[0].click();", find)
答案 1 :(得分:0)
看起来你正试图点击一个span元素。而不是使用解决方法来单击span元素并尝试获得所需的效果,请尝试检查它是否包含在锚元素或输入/按钮元素中。
顺便说一句,一个好的做法是记住始终将元素滚动到视图中,一个示例包装函数将是:
public static void clickElementAsUser(WebDriver driver, By by)
{
WebElement element;
try
{
element = driver.findElement(by);
scrollElementIntoView(driver, element);
Thread.sleep(100); //Wait a moment for the element to be scrolled into view
element.click();
}
catch(Exception e) //Could be broken into multicatch
{
//Do Something
}
}
public static void scrollElementIntoView(WebDriver driver, WebElement element)
{
try
{
((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView(true);", element);
}
catch(Exception e)
{
//Do Something
}
}
如果您发布了一个代码范围的小代码示例,我可能会进一步提供帮助。古德勒克!