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

似乎找不到分辨率'OpenQA.Selenium.InvalidSelectorException'类型的未处理异常

艾翼
2023-03-14

我完全不熟悉任何类型的编码,并试图弄清楚selenium Webdriver是如何工作的。我从一位在线教师那里找到了一些视频,但是当我发现使用C#似乎无法找到下面异常的解决方案时,我尝试了从CssSelector到Xpath的不同选择器类型,但是无法找出到底哪里出错了。提前感谢。

“OpenQA.Selenium”类型的未处理异常。WebDriver.dll中发生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

        }
    }
}

共有1个答案

蒋星驰
2023-03-14

内:

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

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

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

希望这有帮助。

 类似资料:
  • 我正在解码一个响应体,我得到了错误: 我在Udemy上学习颤振教程时,正在尝试使用API。教程说要使用https://javiercbk.github.io/json_to_dart/将JSON转换为Dart。我把JSON从https://www.openbrewerydb.org/并将其转换为Dart,但我遇到的问题是,当我尝试解码API时,我得到了未处理的错误异常:“List”类型不是“Map

  • 我对使用颤振和特定于平台的代码非常陌生,所以如果这是一个愚蠢的问题,请原谅我。我正在使用一个事件通道将数据从android端返回到Flatter。我正在返回一份清单 但是,当我试图添加它时,它给出了一个异常,“未处理的异常:类型'列表'不是类型'列表'的子类型 这是我要将贴图对象添加到的列表。 列表 这是我的添加代码。忽略print语句。 我尝试过像cast或from这样的方法,但它对我不起作用,

  • 我收到了错误消息: 被精确定位的线在这里: 返回类型为

  • 我正在构建一个颤振应用程序,我必须解析api中的一些数据,我设置了所有内容,但我收到了这个错误,我不知道为什么,我是颤振新手,任何帮助都将不胜感激。谢谢。 生成的错误 这是我的api响应示例 这就是我处理数据的方式 这是模型课

  • 我正在开发我的flutter应用程序的身份验证。请帮我解决这个问题。我无法识别返回这样一个错误的问题,声明未处理异常:类型列表不是类型字符串的子类型。 以下是登录屏幕的代码: 执行登录的上述代码部分: 错误