似乎无法找到解决方案类型' OpenQA.Selenium.InvalidSelectorException'的未处理异常

时间:2016-02-25 13:02:16

标签: c# selenium selenium-webdriver

我对任何类型的编码都很陌生,并试图弄清楚Selenium Webdriver的工作原理。我从其中一位在线教师那里找到了一些视频,但是我在使用C#时似乎无法找到下面例外的解决方案,我尝试了从CssSelector到Xpath的不同选择器类型但是不能弄清楚到底出了什么问题。先感谢您。

未处理的类型' OpenQA.Selenium.InvalidSelectorException'发生在WebDriver.dll

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

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 个答案:

答案 0 :(得分:0)

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

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

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

希望这会有所帮助。