【发布时间】:2023-03-14 17:55:01
【问题描述】:
我正在尝试单击手风琴元素内的报告。
我尝试了各种方法来识别元素,但我尝试过的都没有用。
使用 XPath 和 Id 我收到以下错误消息:
OpenQA.Selenium.ElementNotInteractableException: '元素不可交互'
这是我尝试过的代码。
static IWebDriver driver = new ChromeDriver();
static IWebElement element;
driver.FindElement(By.XPath("//*[@id=\"ContentPlaceHolder1_ReportCreator1_DataListReports_3_LinkButtonReport_0\"]")).Click();
driver.FindElement(By.Id("ContentPlaceHolder1_ReportCreator1_DataListReports_3_LinkButtonReport_0")).Click();
这是我要定位的手风琴内的 HTML,
<a id="ContentPlaceHolder1_ReportCreator1_DataListReports_3_LinkButtonReport_0" class="ReportImg" href="javascript:__doPostBack ('ctl00$ContentPlaceHolder1$ReportCreator1$AccordionReportList_Pane_3_content$DataListReports$ctl00$LinkButtonReport','')">All Assessments</a>
【问题讨论】:
-
再次检查您的定位器是否唯一...打开开发控制台并尝试
$$("#ContentPlaceHolder1_ReportCreator1_DataListReports_3_LinkButtonReport_0")。它只返回一个元素吗?这似乎是一个疯狂的长定位器,不是独一无二的......但我以前见过这样的问题,页面上有 2 个或更多元素,第一个不可见,等等。
标签: c# selenium selenium-webdriver webdriverwait