英文:
how can i find webdriver via webelement in selenium?
问题
在我的代码中,我有一个对 WebElement
对象的引用,但是没有 WebDriver
对象的引用。有没有办法仅通过一个 WebElement
对象获得对 WebDriver
的引用?
我需要这样做,因为我需要为生成给定的 WebElement
的驱动程序调用一些特定于 WebDriver
的功能。
英文:
In my code I have a reference to WebElement
object but I have no reference to WebDriver
object. Is there any way obtain a reference to WebDriver
having just a WebElement
I need that since I need to invoke some WebDriver
-specific functionality for a driver which has produced given WebElement
答案1
得分: 1
通常情况下是没有这种方法的。大多数WebDriver
的实现不会在WebElement
中公开引用自身的方法。
RemoteWebElement
是由许多其他驱动程序扩展的RemoteWebDriver
生成的,它在RemoteWebDriver
/RemoteWebElement
中有受保护的引用,因此有两种方法:
-
你可以在测试项目中扩展所有这些实体,并将该字段公开。这需要一定水平的编码技能。。
-
你可以像这篇帖子中所示,使用反射方法。
英文:
No. Normally there is no such a way. Most of WebDriver
implementations does not put a public reference to itself to WebElement
.
RemoteWebElement
, which is produced by RemoteWebDriver
which a lot of other drivers extend, has protected reference to RemoteWebDriver
/RemoteWebElement
so there are two ways here:
-
you can extend all those entities in your test project and expose that field public. This requires certain level of coding skills..
-
you can use reflection like shown in this post.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论