-1

我试过这段代码,但我仍然有一个错误:

        IWebDriver driver;
        driver = new InternetExplorerDriver("C:\\", options);

        driver.Navigate().GoToUrl("http://www.marathonbet.com/en/");


        IJavaScriptExecutor js = driver as IJavaScriptExecutor;
        string title = (string)js.ExecuteScript("window.find('Japan',0,0,0,0,0,1)");

所以我想知道这个功能是否有替代品

4

2 回答 2

0

只是抛出一个不同的方法,试试 XPath;

    String identifierXpath = String.format("//*[contains(text(),'%s')]", searchTerm);

    By identifier = By.xpath(identifierXpath);

    List<WebElement> elementsWithText = driver.findElements(identifier);

这种方法允许您访问实际包含任何感兴趣的文本 id 的元素,当然使用“.size() > 0”来确定文本是否实际存在。

我可能会在 findElements 之前将隐式等待时间更改为 0 秒,然后再重置,但是这段代码应该会给你我想要理解的想法。显然,如果它在辅助方法中是有意义的。

请注意,我并不是说这比使用“getPageSource()”更好或更有效,它只是解决问题的一种不同方法。

一个很大的缺陷是它会区分大小写!但是,您可以将 xpath 更改为不区分大小写,但这会复杂得多,但可以完成

于 2013-09-04T09:10:05.620 回答
0

如果你只是想搜索一些存在的文本,你可以实现这样的东西:

boolean isTextPresent(String text){
    return driver.getPageSource().contains(text)
}
于 2013-09-04T08:51:46.650 回答