Take the 2-minute tour ×
Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. It's 100% free, no registration required.

I need the right direction to click on a input field. When I copy the CSS path I get the following:

html body#root div#box div#content div#C_INTERNAL_OBJECT-98286949812.container div#mainPanel.section div#C_DOS_UPDATE-169276301164.container div.content form#C_DOS_UPDATE-169276301164-FORM.parsed div.layout table#L_DOS_UPDATE-160728179478.cols2 tbody tr td table#E_DOS_TITEL-89531585980.element tbody tr td.cell input#E_DOS_TITEL-89531585980-Form-68356896585.form

The bold parts are variable and are changing. Next to this I want to write my tests (PHPunit based) to keep them working also when things are changed (mainly the uppercase parts are relevant and don't change). So I asked our developers for the basic structure. I got this:

.content
    .mainPanel
        .container.detail
        .container.list
        .container.tab
    .sidePanel
        .container.search

Perhaps it's simple for other people, but I don't know how to get the inputfield clicked with this information. How do I select it with a CSS selector which don't use the whole CSS path and only the basic structure above and the absolutely needed parts?

Help would be really great because I'm feeling a little bit lost and I can't ask the devs at the moment.

share|improve this question

1 Answer 1

up vote 3 down vote accepted

CSS selectors can also match strings that start with, end with, or contain a certain substring. For example

input[id^="E_DOS_TITEL"] 

will match an input element whose id attribute starts with the text E_DOS_TITEL. The ends with comparison operator is $=, and contains is *=.

The example provided above should work as long as it's the only input element on the page whose id begins with that text. If there's more inputs on the page and you want to select a specific one, you could try adding more specificity with

#content #mainPanel table input[id^="E_DOS_TITEL"] 

If that's still not matching, it would be helpful if you would be able to post the HTML source of the page in question.

share|improve this answer
1  
#content #mainPanel table input[id^="E_DOS_TITEL"] was exactly what I was searching for. Thanks a lot! –  Andy Oct 1 '13 at 21:10

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.