Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.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
Selenium 容易选择硒?_Selenium - Fatal编程技术网

Selenium 容易选择硒?

Selenium 容易选择硒?,selenium,Selenium,是否有人对selenium选择器(特别是javascript)的使用有任何了解 理想情况下,应该有一个chrome插件,允许您检查一个元素,并提供选择它的(全部)方法 firefox的IDE看起来不错: 只是想知道是否有任何方法可以简化这个烦人的任务。您可以(但非常不鼓励)使用+生成CSS选择器/XPath 对于复杂的web应用程序,您无法从这些生成器获得可维护的定位器 自动生成的选择器在维护方面完全是垃圾。机器无法确定什么是最有效的定位方法,除非开发人员根据DOM的结构构造某些特定的算法。但我

是否有人对selenium选择器(特别是javascript)的使用有任何了解

理想情况下,应该有一个chrome插件,允许您检查一个元素,并提供选择它的(全部)方法

firefox的IDE看起来不错:

只是想知道是否有任何方法可以简化这个烦人的任务。

您可以(但非常不鼓励)使用+生成CSS选择器/XPath

对于复杂的web应用程序,您无法从这些生成器获得可维护的定位器

自动生成的选择器在维护方面完全是垃圾。机器无法确定什么是最有效的定位方法,除非开发人员根据DOM的结构构造某些特定的算法。但我相信这比学习XPath或CSS选择器要困难得多

我的建议是,每个Selenium开发人员都应该正确地学习XPath和CSS选择器。Firebug+Firepath是评估和验证定位器的好工具,但请从头开始编写它们

例如,基本XPath生成器将为您提供:

.//*[@id='page']/div/div/div/div/div/div/div/div/ul[1]/li[1]/a
这就是“智能”生成器可能做的事情(它通过某些预定义规则简化了XPath,但仍可能导致麻烦):

但有经验的人类开发人员会这样做:

.//*[@id='page']//div[starts-with(@class, 'header-')]//a[contains(@class, '/blog')]

很高兴知道!我想这与WYSIWIG还没有被广泛应用于“真正”用途的原因类似,输出质量不够高,不允许与其他东西一起使用。
.//*[@id='page']//div[starts-with(@class, 'header-')]//a[contains(@class, '/blog')]