Webdriver无法点击Chrome上的特定链接

时间:2012-10-27 11:36:33

标签: c# selenium hyperlink click webdriver

我一直试图使用webdriver点击Chrome上的特定元素。奇怪的是webdriver能够识别该特定元素的所有属性。但是,当我说Element.Click();时,它只是在没有点击该链接的情况下过去了。

我实际上使用了Webdriver提供的所有东西,ID,By Class,By CSS,By XPath。仍然没有

如果有人能帮我解决这个问题,我真的很感激。

@Prashant - 抱歉。这个网络应用程序正在开发中,我不认为我可以与您分享链接。

@Dominik - 这就是我定义Element变量的方法

var element = driver.FindElement(By.Id("h4GetStarted"));   
if(element.Contains("let's start")   
    element.click();

及以下是相同的HTML代码:

<div style="margin: 44px 0px 8px 4px; cursor: pointer;" class="divRow" id="h4GetStarted">  
    <h4>let's start</h4>  
    <div class="sprite-arrow-right"></div>  
</div>

我想点击let's start上的文字。

2 个答案:

答案 0 :(得分:0)

您是否可以在驾驶浏览器(而不是WebDriver)时确认它是否按预期工作?

这可能对你的情况没有帮助(它可能会帮助其他人出于同样的原因来解决这个问题!)但是我遇到了一个类似的问题,一个无法点击的复选框 - 它适用于FirefoxDriver但不适用于ChromeDriver(我顺便使用Java)。事实证明,ChromeDriver点击了元素的中间部分,我的复选框无法在那里点击。

ChromeDriver troubleshooting page提供了一些有关解决Element is not clickable错误的有用信息,这些错误描述了此行为。

我最终使用Advanced user interactions API来解决它,它提供了将鼠标移动到具有偏移量的元素的能力。有趣的是,我实际上不必指定偏移量,因为moveToElement()方法必须选择元素的左上角(我还没有确认)。

所以而不是

termsCheckbox.click();

我用过

new Actions(driver).moveToElement(termsCheckbox).click().perform();

答案 1 :(得分:0)

将此添加到您的驱动程序

driver.manage()窗口()最大化();

我刚遇到一个问题,因为浏览器不是全尺寸而没有找到元素和点击,并且关闭了元素。