【问题标题】:Can't seem to find the resolution An unhandled exception of type 'OpenQA.Selenium.InvalidSelectorException'似乎找不到解决方案“OpenQA.Selenium.InvalidSelectorException”类型的未处理异常
【发布时间】:2016-06-08 06:36:14
【问题描述】:

我对任何类型的编码都是全新的,并试图弄清楚 selenium Webdriver 的工作原理。我从一位在线老师那里找到了一些视频,但是当我在关注使用 C# 似乎无法找到以下异常的解决方案时,我尝试了从 CssSelector 到 Xpath 的不同选择器类型,但无法弄清楚到底是什么出错了。先感谢您。

WebDriver.dll 中出现“OpenQA.Selenium.InvalidSelectorException”类型的未处理异常

附加信息:无效选择器:不允许复合类名

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.IE;
using OpenQA.Selenium.Chrome;

namespace WebDriverDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            IWebDriver driver = new ChromeDriver(@"C:\Users\samanat\Documents\Testing\Drivers");
            driver.Url = "http://google.com";
            var searchBox = driver.FindElement(By.Id("lst-ib"));
            searchBox.SendKeys("Global Khulna.com");
            //Searching Global Khulna
            driver.FindElement(By.Name("btnG")).Click();
            //Clicking Search button
            driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));

            var imagesLink = driver.FindElements(By.ClassName("q qs"));

            //driver.FindElement(By.TagName("More")).Click();
            //Clicking More
            //driver.FindElement(By.ClassName("q qs")).Click();
            //Clicking Images

        }
    }
}

【问题讨论】:

    标签: c# selenium selenium-webdriver


    【解决方案1】:

    在:

    var imagesLink = driver.FindElements(By.ClassName("q qs"));//WRONG
    

    当通过 ClassName 查找元素时,搜索字符串中不能有空格。您将需要找到另一种方法来调用该元素。大多数开发人员使用 CSS 模式,例如:

    var imagesLink = driver.FindElement(By.CssSelector("span.q.qs"));
    

    希望这会有所帮助。

    【讨论】:

    • 您好 RokingWatson,感谢您的回答。更换后我发现以下错误。 WebDriver.dll 中出现“OpenQA.Selenium.NoSuchElementException”类型的未处理异常附加信息:没有这样的元素:无法找到元素:{“method”:“css selector”,“selector”:“span.q.qs” } (会话信息: chrome=48.0.2564.116) (驱动程序信息: chromedriver=2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4),platform=Windows NT 6.3 x86_64)
    • @Saibot 您是否碰巧通过右键单击元素并检查它来检查元素的 CSS? CSS 可能与类名不完全相同。您可能想查看SeleniumHQ 了解如何调用元素。
    猜你喜欢
    • 1970-01-01
    • 2022-10-14
    • 2021-11-19
    • 1970-01-01
    • 2020-06-07
    • 1970-01-01
    • 2022-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多