Selenium:如何点击javascript按钮

2024-02-15

我必须编写一些用于自动测试的脚本,以检查使用 flex/amf 技术构建的 Web 应用程序的加载时间。 测试将包括打开 IE 浏览器,浏览多个选项卡,并测量从单击最后一个选项卡加载页面内容到关闭浏览器的时间。

我使用 Selenium Web Driver 和 Junit 用 java 编写了一个小脚本。脚本打开 IE 窗口,输入登录名和密码。我在“点击”登录按钮时遇到问题。

首先,我尝试通过findElement和By.partiallinktext查找并单击按钮,但selenium告诉我:“无法找到具有部分链接文本的元素”(ctrl+f在该网站上工作正常)。

我尝试使用 moveByOffset 鼠标单击并按按钮(机器人类 - 在用密码填充字符串后“选项卡”和“输入”)。所有这些都不起作用。

接下来我找到了 JavascriptExecutor - 我认为它可以解决我的问题,但是我应该如何使用这个类?

该网站上的按钮:

<button style="width: 120px;" onclick="javascript:logIn();"> Login </button>

我的java代码:

WebElement button = driver.findElement(By.partialLinkText("Login")); 
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript ("document.getElementByText(\"Login\")).click();", button); 

我没有太多测试经验,因此我将感谢您的帮助。


不要通过 JavaScript。尝试这个:

String xPath = "//button[contains(.,'Login')]";
driver.findElement(By.xpath(xPath))).click();

更好,但未经测试:

// xPath to find a button whose text() (ie title) contains the word Login
String xPath = "//button[contains(text(),'Login')]";
driver.findElement(By.xpath(xPath))).click();

另请注意https://sqa.stackexchange.com/ https://sqa.stackexchange.com/有有关硒(等)的信息

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Selenium:如何点击javascript按钮 的相关文章