对于相同的值,按策略标签名称是否可以替换为cssSelector



我用cssselector替换了定位器tagName,但没有更改参数,代码仍然运行良好。以前的脚本是:

Driver.findElement(By.tagName("*enter tagName*");

更换代码为:

Driver.findElement(By.cssSelector("*enter tagName*");

尽管我没有使用任何cssSelector组合,但代码仍然有效。

这怎么可能?

由于标记名本身就是一个正确的CSS选择器,因此这一操作正确
CSS Selector通常如下所示:tagName[attributeName='attributeValue'],其中可以省略属性名称和值,并仅基于tagName定位元素。所以tagNamelonely仍然是一个正确的CSS选择器。

By.TAG_NAME总是等价于By.CSS_SELECTOR


根据find_element((的定义:

elif by == By.TAG_NAME:
by = By.CSS_SELECTOR

因此,前一行代码:

Driver.findElement(By.tagName("enter tagName");

以及替换代码行:

Driver.findElement(By.cssSelector("enter tagName");

相当。

相关内容

  • 没有找到相关文章

最新更新