相关疑难解决方法(0)

Selenium 有相对 CSS 定位器吗?

假设我正在#myPage元素下查找一些div元素。我的目标是使用 CSS 选择器并将搜索限制为仅#myPage后代。

使用 Selenium XPath 定位器我可以编写如下内容:

WebElement page = driver.findElement(new By.ById("myPage"));
....
List<WebElement> item = page.findElements(new By.ByXPath(".//div"));
Run Code Online (Sandbox Code Playgroud)

然而,尝试使用 CSS 会产生文档中的所有div,而不仅仅是#myPage的后代:

WebElement page = driver.findElement(new By.ById("myPage"));
....
List<WebElement> item = page.findElements(new By.ByCssSelector("div"));
Run Code Online (Sandbox Code Playgroud)

最大的区别在于.//使 XPath 表达式相对的前缀。我在 CSS 语法中找不到类似的属性,我想知道它是否可能。

PS
我知道我可以使用#myPage > div表达式,但随后我将页面查找操作与其后代的查找结合起来,这并不总是可取的。

selenium xpath css-selectors

4
推荐指数
1
解决办法
4089
查看次数

使用链接在量角器中获取直接子元素

我认为有一种方法可以将定位器连接起来并让直接的孩子这样做.例如,假设我有以下html结构

<tab title="my tab">
    <div _ngcontent-cjx-7>
        <div class='my other content'>...</div
    </div>
</tab>
Run Code Online (Sandbox Code Playgroud)

我有一个父元素ElementFinder

var myTab = element(by.css('tab[title="my tab"]')); 
Run Code Online (Sandbox Code Playgroud)

但我需要选择那个div.这对我不起作用,但我以为我见过类似的东西.

var myTabsDiv = myTab.$(' > div');
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点,而不回退到xpath?

javascript xpath css-selectors protractor

3
推荐指数
1
解决办法
2433
查看次数

标签 统计

css-selectors ×2

xpath ×2

javascript ×1

protractor ×1

selenium ×1