我一直试图使用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
上的文字。
答案 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()窗口()最大化();
我刚遇到一个问题,因为浏览器不是全尺寸而没有找到元素和点击,并且关闭了元素。