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

为什么我在尝试使用硒单击按钮时收到无效选择器异常?

岑明辉
2023-03-14

这是我的代码:

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();
    }
}

共有1个答案

翟奇
2023-03-14

这很可能是由于您尝试在单个 By.className() 中搜索两个单独的类引起的。“设置库”和“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"));
 类似资料:
  • 问题内容: 当我单击他的图像时,我想选择单选按钮,但是它不起作用。这是我尝试过的: 我的两个属性都具有相同的 data =“” 属性:对于图像和输入,单击图像时,是否有任何方法可以检查输入(该收音机)? 谢谢 更新: 我发现一些代码有效,但是仅在图像上单击了三下,因此当单击最后一个脚本时,脚本停止了,无法再次选择第一个或第二个,我不知道为什么…我认为必须取消选中所有单选按钮,然后选中选中的一个按钮

  • 问题内容: 我正在尝试从3个按钮的列表中进行选择,但是找不到选择它们的方法。以下是我正在使用的HTML。 我可以使用以下代码找到它: 输出:SRF,COM,MOT 但我想选择ChoiceOne。(单击它)我该怎么做? 问题答案: 使用CSS选择器或XPath 直接按属性选择,然后单击它。 更正(但是OP应该学习如何在文档中查找) 在Python绑定中,它不存在,称为。一个人应该能够查看异常消息并在

  • 此输出:SRF、COM、MOT 但我想选一个。(点击它)我怎么做?

  • 我正在尝试用Selenium Web驱动程序点击一个按钮。 (我觉得是用棱角写的??) URL为https://www.truelocal.com.au/search/accountants/canberra 这是页面底部的绿色按钮,上面有“加载更多结果” 元素页源是...

  • 我正在尝试通过xpath,css,ID...但什么都管用。 我总是得到错误:没有这样的元素:无法定位元素 我添加了一个明确的等待,但它仍然不起作用。 你能帮帮我吗? 单选按钮

  • 上述代码来自网站,但是尽管尝试了多次尝试,我仍无法单击此按钮。我该怎么办? 如何使用c# selenium点击按钮?以上对我不起作用。