Selenium - Firefox - Issue in xpath with Div tags SyntaxError: The expression is not a legal expression

Selenium - Firefox - Issue in xpath with Div tags SyntaxError: The expression is not a legal expression

我在尝试通过 Selenium

自动执行样本 Qlikview 网络报告时出现以下错误

浏览器:火狐

FirePath 返回的 Xpath:

  .//*[@id='58']/div[2]/div/div[1]/div[4]/div[1]

异常:

  **Exception**: Exception in thread "main"                 
   org.openqa.selenium.InvalidSelectorException: The given    
   selector//[@id='58']/div[2]/div/div[1]/div[4]/div[1] is either invalid          
   or does not result in a WebElement. The following error occurred:      
   InvalidSelectorError: Unable to locate an element with the xpath       
   expression //[@id='58']/div[2]/div/div[1]/div[4]/div[1] because of the     
   following error:**SyntaxError: The expression is not a legal expression.**
   Command duration or timeout: 78 milliseconds
   For documentation on this error, please visit: http://seleniumhq.org       
   /exceptions/invalid_selector_exception.html
    Build info: version: '2.45.0', revision: '32a636c', time: '2015-03-05 22:01:35'

我尝试 运行 删除“.”来自 xpath 但仍然发生相同的错误。

代码示例:

// 导航至第 4 季度结果

    driver.findElement(By.xpath("//[@id='58']/div[2]/div/div[1]/div[4]/div[1]")).click();
}

申请: http://us-b.demo.qlik.com/QvAJAXZfc/opendoc.htm?document=qvdocs%2FRetail%20Omni-Channel%20Analytics.qvw&host=demo11&anonymous=true

我正在尝试在此应用程序上单击 Q4 link

请帮忙。

您必须在 xpath 中提供标签名称。你没有提到任何标签名称。你可以给 * 可以带任何标签。

 //*[@id='58']

以上将匹配任何 id=58

的元素

您已经使用过

 //[@id='58']

其中标签名称是 missing.So 它是无效的 selector.You 必须提及 * 或元素的正确标签名称,例如 div 或其他内容

使用下面一行:

driver.findElement(By.xpath("//*[@id='58']/div[2]/div/div[1]/div[4]/div[1]")).click();

而不是:

 driver.findElement(By.xpath("//[@id='58']/div[2]/div/div[1]/div[4]/div[1]")).click();