最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Nightwatch. Click on element with text - Stack Overflow

programmeradmin5浏览0评论

I have a problem, can`t click on web element having some unique text. I have this structure:

<div class="wg-wagon-type__item"  data-reactid="10"
  <div class="wg-wagon-type__title" data-reactid="11">Text</div>

I try this

.click('.wg-wagon-type__title:contains("Text")')

But I have an error

ERROR: Unable to locate element: ".wg-wagon-type__item .wg-wagon-type__title:contain("Text")" using: css selector

How can I correct click on this element?

I have a problem, can`t click on web element having some unique text. I have this structure:

<div class="wg-wagon-type__item"  data-reactid="10"
  <div class="wg-wagon-type__title" data-reactid="11">Text</div>

I try this

.click('.wg-wagon-type__title:contains("Text")')

But I have an error

ERROR: Unable to locate element: ".wg-wagon-type__item .wg-wagon-type__title:contain("Text")" using: css selector

How can I correct click on this element?

Share Improve this question edited Apr 5, 2017 at 10:51 Gaurav Lad 1,8081 gold badge17 silver badges31 bronze badges asked Mar 2, 2017 at 11:49 DevegnikDevegnik 1951 gold badge3 silver badges12 bronze badges 1
  • 1 Title of your question is misspelled. Also your css selector is not valid. :contains("Text") is jQuery, not CSS 2 or CSS3. – QualiT Commented Mar 2, 2017 at 18:49
Add a ment  | 

1 Answer 1

Reset to default 5

Is there any reason why you can't simply target the class wg-wagon-type__title?

.click('.wg-wagon-type__title')

Unfortunately there isn't a CSS selector that matches on the text of an element. However, nightwatch has the capability to run javascript on the browser via 'api.execute' and that allows you to do string matching.

Alternatively, you could use an xpath selector and use that to match the text

.click("//div[contains(@class, 'wg-wagon-type__title') and text()='Text']")
发布评论

评论列表(0)

  1. 暂无评论