我试图从 IntelliJ 运行下面的代码,但又出现错误(如下)。我只想使用 Xpath 定位器单击网站上的按钮并添加断言来验证我的测试。构建如此简单的测试的最佳方法是什么?import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.testng.annotations.Test;import java.util.List;public class ButtonTest extends CommonScenario { private static WebDriver driver; @Test() public void button_test() { button b = driver.findElements(By.xpath("//button[text()='Teleworking")); }错误:Error:(16, 5) java: cannot find symbol symbol: class button location: class selenium.ButtonTest
3 回答
互换的青春
TA贡献1797条经验 获得超6个赞
没有button
课。driver.findElements
返回一个列表WebElement
List<WebElement> elements = driver.findElements();
如果您想要单个元素,请使用driver.findElement
WebElement element = driver.findElement();
慕尼黑的夜晚无繁华
TA贡献1864条经验 获得超6个赞
没有名为 Button 的类来启动对象 b。尝试 WebElements。所以该方法的代码是
public void button_test() { List<WebElement> b = driver.findElements(By.xpath("//button[text()='Teleworking")); }
请注意,您使用的是 findElements 而不是 findElement,后者将返回 webelement 列表而不是单个 webelement。
PIPIONE
TA贡献1829条经验 获得超9个赞
请检查 xpath 是否有单个元素"//button[text()='Teleworking"
。如果是这样,请像下面一样更新您的脚本
WebElement button = driver.findElement(By.xpath("//button[text()='Teleworking"));
如果您有多个具有与上面相同的 xpath 的按钮,那么您需要通过 List 来处理它,在这种情况下您可以使用下面的 XPath。
List<WebElement> button = driver.findElements(By.xpath("//button[text()='Teleworking"));
添加回答
举报
0/150
提交
取消