使用Selenium Webdriver访问JQuery Auto

时间:2014-10-27 00:27:30

标签: c# selenium-webdriver

我正在尝试在输入单词后获取JQuery自动完成的HTML。为此,我决定尝试使用selenium webdriver。

我阅读了文档,我认为我有几个问题。

1)我没有找到搜索建议,虽然我很确定我正在选择它

2)我不知道如何将HTML从IWebElement转换为字符串。

这是我的代码不起作用:

    IWebDriver driver = new FirefoxDriver();

    driver.Navigate().GoToUrl("https://site.xxx/");

    IWebElement query = driver.FindElement(By.Name("stext"));

    query.SendKeys("iphone");

    // Everything up to this point works, I put a wait in here just incase it takes a few seconds to load
    WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(2));

    // This seems to come back empty but in developer tools for chrome I can see it
    IWebElement results = driver.FindElement(By.ClassName("ac_results"));

谁能看到我哪里出错了?

2 个答案:

答案 0 :(得分:0)

在你的结果调用上添加.text();结束以获取元素的文本值。 Java语法。

String val = driver.findElement(By.ClassName("ac_results")).text();

或者

WebElement we driver.findElement(By.ClassName("ac_results"));

String val = we.text();

答案 1 :(得分:0)

我试试javascriptexecutor,见下文:(C#版)

IWebDriver driver;
IJavaScriptExecutor jse = driver as IJavaScriptExecutor;
string body = (string)jse.ExecuteScript("return document.body");