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

单击类型(selenium)导致问题

宣瀚
2023-03-14
<input class=" " id="P400_ADD_MEDIUM_BUT" onclick="void(0);" type="button" value="Add Emission">
driver.findElement(By.id("P400_ADD_MEDIUM_BUT")).click();

我尝试将其更改为XPath并使用以下命令://input[@id='p400_add_medium_but']

driver.findElement(by.xpath(“//input[@id='p400_add_medium_but']”)).click();

但结果还是一样。我在IDE中回放了录制好的脚本,这工作很好。我应该提到测试必须在IE中运行(它是一个内部应用程序,IE是唯一在内部使用的浏览器)--但我被难倒了。

共有1个答案

颛孙智勇
2023-03-14

请尝试下面的任何代码。

注意:-在点击此按钮之前,提供几秒钟的等待,以便您的驱动程序可以找到WebElement。

对于wait,我使用explicit wait方法。

new WebDriverWait(driver, 60).until(ExpectedConditions.elementToBeClickable(driver.findElement(By.xpath("//input[@type='button'][@value='Add Emission']"))));   //Wait for 60 seconds.
driver.findElement(By.xpath("//input[@type='button'][@value='Add Emission']")).click();
WebElement button = driver.findElement(By.xpath("//input[@type='button'][@value='Add Emission']"));
((JavascriptExecutor) driver).executeScript("arguments[0].click();", button);
 类似资料:
  • 我尝试了不同的XPath等,但无法单击应用程序中的“继续”按钮。以下是一个尝试处理相同的:- 请帮我解决。提前致谢!!!

  • 问题内容: 如何从FXML文件中指定图表的轴类型?似乎默认类型是。如果将我的可注入字段声明为,并使用创建数据系列,则程序将抛出。 必须使用FXML文件。最坏的情况是我手动创建图表。我最好的猜测是这是一个错误。 问题答案: 这对我来说很好。我使用以下FXML进行了测试: 并测试应用程序: 很难说清楚为什么看不到FXML文件(尤其是所使用的轴),这是很难的。但是,从堆栈跟踪中可以看出,您正在使用,与的

  • 问题内容: 我正在处理需要返回JSON数据的Web服务。 我读到我应该使用application/json,但是不确定这可能会导致什么问题? 例如,较旧的浏览器会支持吗?(IE6 +,FF,Opera等) 还是公司防火墙/代理服务器后面的用户可能阻止了MIME类型application / json? 遵循此建议,您有什么问题(如果有)? 问题答案: 让我们考虑IE。假设您有一个隐藏的iFrame

  • 问题内容: 我正在创建一个包含导航抽屉活动的应用程序。我正在主屏幕中加载不同的片段。现在,当我当时必须调用Fragment时,它可以正常工作,但是当我想调用某种服务(如call,图像选择器)时,我添加了setNavigationItemSelectedListener,它工作正常,但其他所有片段现在都无法加载。 问题答案: 当您打电话时,是说您要处理NavigationView中的单击事件,并根据

  • 嗨,我正在尝试自动启动下拉菜单。默认情况下,它的可见性是隐藏的。将鼠标悬停在它上面时,它的可见性属性显示为可见。我可以单击下拉菜单,但是在单击下拉菜单后,我的selenium脚本不能从下拉菜单中选择值。 错误:线程"main"org.openqa.selenium.ElementNotVisibleException异常:无法单击元素 HTML代码段