WebDriverIO 6 – $ 工作正常,$ 在 iframe 中不工作
WebDriverIO 6 – $ works fine, $ doesn't work in iframe
我使用 WebDriverIO 并尝试像这样访问并单击 iframe 中的第二个 li 标签;
HTML 图片:
。
不是iframe-id, li-id.
现在可以使用以下代码
describe('research test', () => {
it ('click object in iframe test', () => {
browser.url('http://localhost/test/html/index.html');
browser.pause(2000);
browser.switchToFrame(0);
$$('[class="inside-list-menu"]')[1].click();
browser.pause(5000);
});
});
但我想更改以下部分的代码
$$ ('[class = "inside-list-menu"]') [1] .click ();
到
$ ('[class = "inside-list-menu"]') [1] .click ();
但是失败了。
我想知道
为什么 $ 不起作用?
其他方式 2nd li 标签可以点击以 $.
开头
我正在使用 WebDriverIO 版本:6.14.5 // 浏览器:Chrome // OS:Windows 10
$$ 和 $ 之间存在显着差异。为了更好地理解这一点,请尝试从 here.
中理解 findElement 和 findElements
简而言之,$$ return 是一个元素数组,而 $ return 是第一个与 select 或
匹配的元素
基于 $$ 的 return 类型,您将 select 使用其索引的元素数组中的一个元素(在您的情况下为 [1]
)。 $ 的 return 类型是一个元素,当你对它使用索引 select 时,这是根本错误的。
我使用 WebDriverIO 并尝试像这样访问并单击 iframe 中的第二个 li 标签;
HTML 图片:
现在可以使用以下代码
describe('research test', () => {
it ('click object in iframe test', () => {
browser.url('http://localhost/test/html/index.html');
browser.pause(2000);
browser.switchToFrame(0);
$$('[class="inside-list-menu"]')[1].click();
browser.pause(5000);
});
});
但我想更改以下部分的代码
$$ ('[class = "inside-list-menu"]') [1] .click ();
到
$ ('[class = "inside-list-menu"]') [1] .click ();
但是失败了。
我想知道
为什么 $ 不起作用?
其他方式 2nd li 标签可以点击以 $.
开头
我正在使用 WebDriverIO 版本:6.14.5 // 浏览器:Chrome // OS:Windows 10
$$ 和 $ 之间存在显着差异。为了更好地理解这一点,请尝试从 here.
中理解 findElement 和 findElements简而言之,$$ return 是一个元素数组,而 $ return 是第一个与 select 或
匹配的元素基于 $$ 的 return 类型,您将 select 使用其索引的元素数组中的一个元素(在您的情况下为 [1]
)。 $ 的 return 类型是一个元素,当你对它使用索引 select 时,这是根本错误的。