繁体   English   中英

Selenium c#-在Firefox中单击按钮失败…但仅在使用WebDriver时

[英]Selenium c# - Button click fails in Firefox…but only when using WebDriver

这是我的难题...我有一个按钮,该按钮在使用WebDriver打开的浏览器窗口中无法单击。

按钮:

<div class="ribbon-section">
<span class="section-title" data-bind="text: title">Email</span>
<div class="layout" data-bind="css: { 'vertical': isVertical ,layout:true}">
<div id="email-btn" class="ribbon-control ribbon-button ribbon-button-large" data-bind="attr: { id: id }, css: { disabled: disabled, 'ribbon-button-large': size() == 'large', 'ribbon-button-small': size() == 'small', 'ribbon-button-medium': size() == 'medium' }, click: onClick">
<img class="ribbon-icon ribbon-normal" data-bind="attr: { src: imgNormal }, visible: !disabled()" src="/_layouts/15/klscript/content/images/ribbon/normal/email-link.png" style="">
<img class="ribbon-icon ribbon-disabled" data-bind="attr: { src: imgDisabled }, visible: disabled()" src="/_layouts/15/klscript/content/images/ribbon/disabled/email-link.png" style="display: none;">
<span class="control-title" data-bind="html: title">Email Link</span>
<span class="control-help" data-bind="text: tooltip">Email Link</span>
</div>
</div>
</div>

并非WebDriver无法找到该元素或类似的东西。 WebDriver或手动都无法单击该按钮。 什么都没发生。 如果我手动打开Firefox,则该按钮是可单击的。

我已经试过了:

driver.FindElement(By.Id("email-btn")).Click();

和这个:

IWebElement emailBtn = driver.FindElement(By.Id("email-btn"));
Actions act = new Actions(driver);
act.Click(emailBtn);

和这个:

IJavaScriptExecutor js = driver as IJavaScriptExecutor;
js.ExecuteScript("document.getElementById('email-btn').click()");

将其与没有问题的另一个按钮进行比较,我看到除了ID以外,它们是相同的:

<div id="email-btn" class="ribbon-control ribbon-button ribbon-button-large" data-bind="attr: { id: id }, css: { disabled: disabled, 'ribbon-button-large': size() == 'large', 'ribbon-button-small': size() == 'small', 'ribbon-button-medium': size() == 'medium' }, click: onClick">

<div id="download-item-btn" class="ribbon-control ribbon-button ribbon-button-large" data-bind="attr: { id: id }, css: { disabled: disabled, 'ribbon-button-large': size() == 'large', 'ribbon-button-small': size() == 'small', 'ribbon-button-medium': size() == 'medium' }, click: onClick">

还尝试在Firefox中禁用图片和/或CSS。

有任何想法吗?

您需要从元素css中删除“ disabled:disabled”。 在那之后你应该已经准备好了

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM