当前位置: 首页 > 知识库问答 >
问题:

在Visual Studio C#中使用Selenium时,不识别菜单选项dispite睡眠[重复]

祁鸿哲
2023-03-14

我正在使用带有C#的Visual Studio Selenium来选择当前我使用的菜单选项Chrome但我将使用多个浏览器。这是我正在使用的代码:

{
    var dropdown = driver.FindElement(By.CssSelector(".row:nth-child(5) > .col-md-3 > .input-group > .form-control"));
    dropdown.FindElement(By.XPath("//option[. = 'Slight']")).Click();
}

我已经加入了线程来降低测试速度,并不断出现以下错误。信息:

OpenQA.Selenium.ElementNotInteractableException:元素不可交互:元素当前不可见,可能无法操作

  (Session info: chrome=79.0.3945.117)

堆栈跟踪:

RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
RemoteWebDriver.InternalExecute(String driverCommandToExecute, Dictionary`2 parameters)
RemoteWebElement.Execute(String commandToExecute, Dictionary`2 parameters)
RemoteWebElement.Click()
ChromeResizeEditThrusterTest.chromeResizeEditThruster() line 75

共有1个答案

罗法
2023-03-14

首先,当您尝试单击某个web元素时,请确保该元素当前在屏幕上可见,如果不可见,请尝试将页面滚动到该元素的位置:

var element = driver.FindElement(By.Id("your_element_id"));
((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].scrollIntoView(true);", element);
Thread.Sleep(1000);

此外,为了方便管理特定web元素,请尝试使用Selenium。支持,例如:

var webElemnt = driver.FindElement(By.Id("your_dropdown_id"));
var dropdown = new SelectElement(webElemnt);
dropdown.Options[1].Click();
 类似资料:
  • 使用Selenium和Java实现测试自动化。 有一个页面必须运行IE(而不是Chrome)。我相信它也使用了ColdFusion。无论如何,单击箭头会弹出复选框菜单。但是,这个菜单不是普通的html,而是Java脚本(见下文)。这只是javascript函数的一部分。 我需要选择一个选项。基本上没有直接的。我打印页面源代码,并尝试执行一个(driver.findelements(by.xpath

  • 我想从下面的列表中选择一个使用selenium的选项: 这里 但问题是没有列表可供选择。 在此输入图像说明 我到目前为止的代码: 需要帮助!!

  • 我正在使用Ruby和selenium webdriver gem创建一个web爬行/抓取脚本。我几乎完成了这个项目,但在某个点上卡住了,我正在抓取的站点用于对服务器的页面调用并显示一个字符串,问题是它显示了50%的时间,而不是100%。所以我需要循环get函数,直到它显示字符串。 我使用了隐式 我需要的是 好吧,我可以使用正常的睡眠10并且工作正常,但如果调用首先返回字符串,这是浪费时间

  • 我在Python上使用硒刮擦。 基于javascript错误:未能在“Document”上执行“elementsFromPoint”:提供的双精度值是非有限的。我已尝试访问第五个菜单项的第二个元素。按id选择可以,但菜单项似乎无法访问。html 代码试用: 错误:

  • 我正在尝试为我的WebApp选择菜单选项,可以点击菜单,菜单选项也可见,但无法点击菜单选项。 从Selenium API中,如果我试图检查菜单选项的可见性,它会说不可见,但实际上它已经在屏幕上可见了。 是否有使用Selenium IE驱动程序选择菜单和菜单选项的标准。 以下是菜单/菜单选项代码: 在上面的菜单选项代码中,我需要单击角色选项。这个选项在点击配置菜单上是可见的,但是点击任何这样的菜单选

  • 问题内容: 我的代码使用selenium从下拉菜单中选择选项。我有一个看起来像这样的代码: 这样很好。但是下拉菜单中有很多选项,我希望遍历下拉菜单中的所有项目。我准备了以下代码来遍历选项: 这是行不通的。关于如何使这样的循环工作的任何建议?我不了解python中的循环吗? 谢谢。 问题答案: 这应该为您工作。该代码将 查找元素 迭代以从下拉列表中获取所有选项 遍历列表 对于列表中的每个项目,选择当