【问题标题】:Protractor E2E: Failed, No element found using locator: By(css selector)Protractor E2E:失败,使用定位器找不到元素:By(css选择器)
【发布时间】:2019-10-21 13:05:20
【问题描述】:

试图模拟在量角器中单击的“a”标签。出于某种原因,我收到此问题标题中的错误消息(失败:使用定位器找不到元素:By(css 选择器,#linkToMandate))

到目前为止没有任何效果,我已经尝试了在这里找到的所有内容,

...等待页面完全加载。

...使用不同的选择器。

...使其成为异步函数。

  it('[SUCCESS] User clicked on MANDATE field', () => {
    browser.get('/cockpit');
    browser.wait(
      until.urlContains('/cockpit'), 5000
    );

    const mandateButton = element(by.css('#linkToMandate'));
    mandateButton.click();

    expect(browser.wait(until.urlContains('/mandate'), 5000));
  });

以上是我试图在量角器中完成的工作。

<div>
  <div>
    <a id="linkToMandate" href="/mandate">
      <div>
        <div>
          <div>
            <p>MANDATE</p>
          </div>
          <div>
            <img src="someCoolIcon" alt="icon">
          </div>
        </div>
      </div>
    </a>
  </div>
</div>

上面是 react 渲染出来的 html

一开始,我只想导航到法师/mandate

【问题讨论】:

  • 您尝试使用by.id('linkToMandate') 吗?
  • 是的,我有,但没用...No element found using locator: By(css selector, *[id="linkToMandate"])

标签: css reactjs protractor


【解决方案1】:

试试这个

  it('[SUCCESS] User clicked on MANDATE field', () => {
    browser.get('/cockpit');
    browser.wait(
      ExpectedConditions.presenceOf(element(by.css('#linkToMandate'))), 
      5000
    );

【讨论】:

    【解决方案2】:

    好的,问题是页面没有完全呈现,并且“用户”还没有登录。 意思是在我可以模拟被点击的“a”标签之前,我必须 -> 导航到登录路径 -> 发送数据 -> 等到页面完全呈现 -> 点击“a”标签

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-16
      • 1970-01-01
      • 2018-06-16
      • 1970-01-01
      • 2019-08-21
      • 2012-09-03
      • 2019-07-20
      • 2015-09-08
      相关资源
      最近更新 更多