无法在selenium webdriver(chrome)的网页中使用javascript定位锚元素(href)

时间:2016-02-08 04:53:27

标签: javascript google-chrome selenium

我对硒很新。我已经引用了之前的帖子,并了解了如何使用javaScriptExecutor单击元素。但不幸的是,它不起作用,我可以;我出错的地方。以下是代码段和一些屏幕截图:

This is how i found out the Xpath in chrome:

代码:

    @Test
public void Search(){
    try{

        WebElement element = driver.findElement(By.xpath("//a[contains(@href,\"javascript:__doPostBack('lbSearch','')\")]"));
        JavascriptExecutor executor = (JavascriptExecutor)driver;
        executor.executeScript("arguments[0].click()", element);
    }
    catch(Exception e){
        System.out.println("Search element not found."+ e.getStackTrace());
    }

Result :

提前谢谢!

1 个答案:

答案 0 :(得分:0)

您也可以通过selenium函数库正常点击,而不是JavaScriptExecuter

您的xpath将为//*[@id='lbSearch']

您可以使用以下代码点击

@Test
public void Search(){
     WebElement element = null;
    try{

       element = driver.findElement(By.xpath("//*[@id='lbSearch']"));
    }
    catch(Exception e){
        System.out.println("Search element not found."+ e.getStackTrace());
    }
    element.click();
}

还有一件事需要使用隐式和显式等待locate元素。 this链接可以帮助您。