一开始我想说我不是Javascript的“母语”。
我正在Selenium Webdriver中编写UI自动化测试,我尝试尽可能地理解框架。在the documentation of Selenium Webdriver中有WebElement
类的描述。该类有一个名为findElement
的方法,该方法传递locator
参数。参数类型为(By|Function)
。我不明白(By|Function)
符号。 locator
参数的确切类型是什么?是某类课的对象吗?这是什么意思?最后,我可以说By
是Selenium Webdriver中的另一个类。
答案 0 :(得分:2)
在Selenium文档中,符号(A|B)
表示" A
或B
"。因此,(By|Function)
表示locator
参数应为By
类型或Function
类型。 Function
是函数的标准JavaScript类型名称。 By
是一个Selenium类,根据the docs:"描述了一种在页面上定位元素的机制。"
findElement
的文档页面显示了使用这些参数类型的示例。
答案 1 :(得分:2)
这不是标准的JavaScript语法,而是用于记录类型的语法。 JavaScript文档中的类型有一些不同的第三方语法:JSDoc(其语法与Google Closure Compiler中记录较好的Closure Type System相同),TypeScript和{ {3}}
如果是(By|Function)
,那么这是什么语法并不重要,因为|
在每个语法中都是相同的。 |
表示“或”,类似于||
,JavaScript中的“或”运算符。 Function
表示function() { console.log('hi') }
等任何功能。 By
特定于Selenium - 如果您在链接的Selenium文档中单击它,您会发现它是Flow的链接,这是您可以使用JavaScript API构建的类。