gpt4 book ai didi

java - 当我尝试使用 Selenium 单击按钮时,为什么会出现 InvalidSelectorException?

转载 作者:行者123 更新时间:2023-12-02 04:30:57 25 4
gpt4 key购买 nike

我对使用 Selenium 非常陌生。我试图单击以下选择按钮: enter image description here

这是我的代码:

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;

public class FirstTest
{
private static WebDriver driver;

public static void main(String[] args) throws Exception
{
driver = new FirefoxDriver();
driver.manage().window().maximize();
driver.navigate().to("http://www.metro.ca/flyer/index.en.html");

WebElement postalCodeInputBox = driver.findElement(By.name("postalcode"));
postalCodeInputBox.sendKeys("L6R1A1");
postalCodeInputBox.submit();

String pageSource = driver.getPageSource();
if(pageSource.contains("setstore btn"))
System.out.println("setstore btn FOUND");

WebElement selectButton = driver.findElement(By.className("setstore btn"));
selectButton.click();
}
}

确认“setstore btn”位于源中的图片: enter image description here

这是源代码中的“setstore btn”: enter image description here

最佳答案

这很可能是由于您尝试在单个 By.className() 中搜索两个单独的类引起的。 “setstore”和“btn”都是它们自己的类。

尝试更换

WebElement selectButton = driver.findElement(By.className("setstore btn"));

WebElement selectButton = driver.findElement(new ByAll(By.className("setstore"), By.className("btn")));

或者,https://stackoverflow.com/a/16090160/1055102提供了另一个不错的选择。

WebElement selectButton = driver.findElement(By.cssSelector(".setstore.btn"));

关于java - 当我尝试使用 Selenium 单击按钮时,为什么会出现 InvalidSelectorException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31485741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com