Selenium webdriver 如何获取不可见WebElement的属性

Selenium webdriver 如何获取不可见WebElement的属性,selenium-webdriver,Selenium Webdriver,我正在测试的网页包含35个复选框。 输入标记的样式设置方式使其位于页面可见部分(-9999px)之外。当我想点击它时,会出现ElementNotVisibleException。我可以点击复选框的标签,所以这不是一个问题,但是如果选中或不选中复选框,如何获取信息。我能想象的唯一方法就是分析页面来源。是否还有其他更方便的方法获取此信息?您可以尝试的方法: 您应该已经有了一个类似isChecked()的方法来测试它,然后找到该方法 查找元素并检查其属性以确定何时被选中(示例checked=“che

我正在测试的网页包含35个复选框。 输入标记的样式设置方式使其位于页面可见部分(-9999px)之外。当我想点击它时,会出现ElementNotVisibleException。我可以点击复选框的标签,所以这不是一个问题,但是如果选中或不选中复选框,如何获取信息。我能想象的唯一方法就是分析页面来源。是否还有其他更方便的方法获取此信息?

您可以尝试的方法:

  • 您应该已经有了一个类似isChecked()的方法来测试它,然后找到该方法

  • 查找元素并检查其属性以确定何时被选中(示例checked=“checked”)

  • 为该元素编写另一个选择器,并检查该选择器是否存在(不可见),例如使用css:input#elementID[checked=checked]或by value,具体取决于是复选框还是单选框

对于不可见元素,您可以获取他的属性,但您无法与他交互,它将无法检查是否可见/显示


使用方法查找元素,这将返回一个对象,并查看autocomplete提供了什么,您有哪些可用的方法,您可以使用哪些方法,您应该有getAttribute、isChecked等。

如果您有特定问题,您应该更新所用的编程语言、尝试的代码、出现的错误以及html代码段(如果需要)。通过这种方式,您可能会得到更具体的答案。我使用C#,但我没有提到它,因为在我看来,这是一个普遍的硒问题,与我使用的语言无关。您是对的,您不能像单击它那样与不可见元素交互,但可以获得它的属性。使用.Selected方法,我设法确定是否选中了复选框。