0

我想使用量角器、黄瓜和打字稿单击用户提供的 CSS 字符串,但是,我编写的代码似乎在这里不起作用。

element(by.id(x)) 完美工作,但是 element(by.css(x)) 没有

步骤.ts

import { Given, Then, When } from '
import {$, browser, by, element} from 'protractor';
import { FacebookPage } from '../../page_objects/pages/facebook/facebook.page';
import { expect } from '../support/expect';

let page:

Then(/^várok (.*) másodpercet$/, function (wait): number {
    browser.sleep(wait * 1000); //works fine but could you please provide a better solution?

});

Then(/^rákattintok (.*) id-val rendelkező gombra$/, async function     (idOfElement){
        await element(by.id(idOfElement)).click();
        return true; //works perfectly
});

Then(/^rákattintok (.*) css kóddal rendelkező gombra$/, async function     (idOfElement){
    return await element(by.css(idOfElement,)).click() //doesnt work at all
});

如有必要,我可以提供黄瓜代码和量角器配置,但我认为没有必要。

错误消息:NoSuchElementError:使用定位器找不到元素:By(css 选择器,href="/messages/t/")

其他时间的错误消息:InvalidSelectorError:无效选择器:指定了无效或非法的选择器

我确定有一个 href="/messages/t/" 文本

4

1 回答 1

1

为了使用量角器通过 HREF 选择和单击元素,请执行以下操作:

Then(/^rákattintok (.*) css kóddal rendelkező gombra$/, async function (href) {
    const anchor = await element(by.css(`[href="${href}"]`));
    await anchor.click();
});
于 2019-02-08T21:52:50.807 回答