Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在阴影DOM中使用页面对象模式选择器的最佳实践_C#_Selenium Webdriver_Shadow Dom - Fatal编程技术网

C# 在阴影DOM中使用页面对象模式选择器的最佳实践

C# 在阴影DOM中使用页面对象模式选择器的最佳实践,c#,selenium-webdriver,shadow-dom,C#,Selenium Webdriver,Shadow Dom,当您使用页面对象模式时,访问选择器的最佳实践是什么?让我们举一个简单的例子: [FindsBy(How = How.CssSelector, Using = "button-submit")] public IWebElement button { get; set; } 在大多数情况下,您只需使用按钮。单击()等,这很简单,但如果有时您需要访问css选择器,例如在shadow DOM中遍历,那么您需要编写类似GetShadowElement(另一个按钮)的内容

当您使用页面对象模式时,访问选择器的最佳实践是什么?让我们举一个简单的例子:

        [FindsBy(How = How.CssSelector, Using = "button-submit")]
        public IWebElement button { get; set; }
在大多数情况下,您只需使用
按钮。单击()
等,这很简单,但如果有时您需要访问css选择器,例如在shadow DOM中遍历,那么您需要编写类似
GetShadowElement(另一个按钮)的内容。FindElement(By.CssSelector(“button submit”)。
在使用
FindElement
方法时,是否有方法使用=
从页面元素访问此
,或者我是否需要将其提取到:
private const string locator=“button submit”
例如,使用=locator将我的页面对象元素更新为
,当然稍后会收集所有这样的示例并将它们放在常量的静态类中,等等。有更好的方法处理吗?如何使用页面对象在阴影DOM中遍历