我对任何类型的编码都很陌生,并试图弄清楚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
}
}
}
答案 0 :(得分:0)
内
var imagesLink = driver.FindElements(By.ClassName("q qs"));//WRONG
通过ClassName查找元素时,搜索字符串中不能包含空格。您将需要找到另一种方法来调用该元素。大多数开发人员使用CSS模式,例如:
var imagesLink = driver.FindElement(By.CssSelector("span.q.qs"));
希望这会有所帮助。