我正在尝试使用 Selenium 从 google 收集一些结果,但我使用的 CssSelector 一直返回“找不到元素”。
这是我的代码。
//Open google page
IWebDriver driver = new FirefoxDriver();
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
driver.Navigate().GoToUrl("https://www.google.com/search?q=cheese");
wait.Until(driver1 => ((IJavaScriptExecutor)driver).ExecuteScript("return document.readyState").Equals("complete"));
//Get image link
IWebElement image_link = driver.FindElement(By.CssSelector("a[class='q qs']"));
异常发生在最后一行,我试图获取的 anchor 在网页上是这样写的。
<a class="q qs" href="/search?q=cheese&client=firefox-a&hs=YWQ&rls=org.mozilla:en-US:official&source=lnms&tbm=isch&sa=X&ei=ewL9U-S5FNGpyATTl4CgCA&ved=0CAgQ_AUoAQ">Images</a>
出了什么问题?
最佳答案
您没有将 css 类传递给 css 选择器。您正在向它传递一个按属性过滤的元素选择器。尝试:
By.CssSelector(".q.qs")
关于c# - 无法使用 CSS 选择器定位链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25515842/