如何使用Selenium使Xpath元素可见?

时间:2016-12-28 23:26:06

标签: c# visual-studio selenium-webdriver selenium-chromedriver

OpenQA.Selenium.InvalidSelectorException

中发生了WebDriver.dll类型的未处理异常

其他信息:无效的选择器:由于以下错误,无法找到xpath表达式//*[@id='hdtb-msb']/div[1]/div[4]/a)的元素:

SyntaxError:无法对'Document'执行'evaluate':字符串'//*[@id='hdtb-msb']/div[1]/div[4]/a)'不是有效的XPath表达式。

我也试过通过Class找到元素 - 似乎没有工作。然后记得这可能是一个时间问题。看完几篇文章/帖子后,我不知道还有什么可以尝试。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;

namespace Webdemo2
{
class Program
{
    static void Main(string[] args)
    {
        IWebDriver driver = new ChromeDriver();
        driver.Url = "http://gooogle.com";
        var searchbox = driver.FindElement(By.Id("lst-ib"));
        searchbox.SendKeys("Pluralsight");

        //adding timeout 
        driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(7));

        var images = driver.FindElement(By.XPath("//*[@id='hdtb-msb']/div[1]/div[4]/a)"));
        images.Click(); 
              }
        }
 }

1 个答案:

答案 0 :(得分:1)

在xpath表达式的末尾:

/a)

我认为你需要从表达式中取出右括号。