当前位置: 首页 > 知识库问答 >
问题:

Selenium Webdriver-无法定位top为负值的按钮

慕学海
2023-03-14
<form><iframe onload="ajax.hideLoader();" name="frame_btnUploadImage55c3fefdb188d" style="display:none;"></iframe><input type="file" id="btnUploadImage55c3fefdb188d" name="btnUploadImage55c3fefdb188d" onchange=";ajax.submit('ClickBlocks\\Web\\UI\\POM\\ImgEditor@imgEditor55c3fefda8290-&gt;uploadImage_btnUploadImage55c3fefdb188d', 'frame_btnUploadImage55c3fefdb188d')" size="1" onmouseover=";ajax._getFormByTarget('frame_' + this.id); uploadbutton.initialize('btnUploadImage55c3fefdb188d', 0, 0);" style="position: absolute; width: 60px; top: -5000px; z-index: 1; opacity: 0; left: 445px;" runat="server">+ Add</form>

Driver.FindElement(By.CSSSelector(“input[id^='btn uploadimage']”)).SendKeys(“C:\a.png”);

driver.findElement(by.xpath(“//input[@type='file']”)).SendKeys(“C:\a.png”);

driver.findElement(by.xpath(“//input[text()='+add']”)).SendKeys(“C:\a.png”);

任何有这种按钮经验的人请帮忙。

更新:我找到了这样做的方法如下:

WebElement elem=driver.findElement(by.cssselector(“*[id^=btnuploadimage”));

js.executescript(“arguments[0].click();”,elem);

共有1个答案

宣熙云
2023-03-14

由于元素不可见,您必须添加隐式wait-:

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

或者添加Webdriver wait-:

new WebDriverWait(driver, 10).until(ExpectedConditions.presenceOfElementLocated(element));

确保您已触发事件以显示弹出窗口。

 类似资料:
  • 我想用Python/Selenium登录Facebook。。。,它的工作非常好,在一开始,它找到“电子邮件”,“密码”,但登录按钮没有??? 消息:没有这样的元素:无法找到元素:{“method”:“css selector”,“selector”:“[id=“loginbutton”]”}(会话信息:chrome=92.0.4515.107),谢谢大家

  • 我试图在两个数字之间执行位或运算:650510336和2147483648()

  • 问题内容: 我一直在为FF写我的脚本,但希望他们所做的工作很少,它们也可以在其他浏览器上运行,但是IE驱动程序似乎存在按钮问题? 我在按钮上有一个简单的webelement.click(),不会引发错误,但不单击按钮。在FF它的罚款。我可以获取文本,获取价值,所以我知道find语句是可以的,只是不会单击它。 想法或帮助会很棒 只是做 HTML-控件上有3个按钮,我现在只对登录感兴趣 问题答案: 遇

  • 我在为按钮找到正确的Xpath语法时遇到了一些困难。页面上有2个添加按钮。报告下面有一个添加按钮。项目下面有一个添加按钮。我想找到一个下面的项目,但我正在找到一个下面的报告。 我尝试了以下Xpaths,这些Xpaths在span类报告下面找到了add按钮: 我可以使用什么Xpath来定位Add...哪一个是在span类项目下面?谢了。

  • 问题内容: 当遇到按位移位运算符时,我遇到了一个有趣的场景。如果第二个操作数为负,按位移位运算如何工作?。 即,<< << b,“ <<”将a中的位模式向左移动b位。但是,如果b为负数,在运行时是否应该出错? 我能够成功运行以下代码,但我不知道它是如何工作的? 输入项 结果 “ a”的ASCII码为97。有人可以帮助我了解其工作原理吗? 问题答案: 但是,如果b为负数,在运行时是否应该出错? 不符

  • 我使用以下代码来获取灰度图像的R、G、B值(它们都将是相同的),但输出给我负值。 为什么会这样?我完全糊涂了。 此处,结果[1]应对应于“R”值。那幺它怎么会是负面的呢?