문제

무작위로 생성 될 요소의 ID를 캡처하려고합니다. 이렇게 내 요소 ID의 값을 성공적으로 포착 할 수 있습니다 ...

| storeAttribute | //div[1]@id | variableName |

이제 내 변수는 ...

divElement-12345

내가 남은 변수가 '12345'이되도록 'divelement-'를 제거하고 싶습니다. 그래서 나중에 그것과 관련된 'form-12345'요소를 선택할 수 있도록 ...

| type | //tr[@id='form-${variableName}']/td/form/fieldset/p[1]/input | Type this |

이것을 어떻게 달성 할 수 있습니까?

도움이 되었습니까?

해결책

Selenium의 XPath 및 CSS 선택기에는 두 가지 옵션이 있습니다. CSS 선택기가 Firefox와 IE에서 테스트를 수행하는 데 더 좋습니다. 최신 버전의 Selenium IDE (3/5/2009)를 사용하여 JavaScript 표현식을 평가하는 StoreEval을 사용하여 JavaScript 문자열 함수에 액세스 할 수 있습니다.

xpath :

storeAttribute | //div[1]@id                                            | divID
storeEval      | '${divID}'.replace("divElement-", "")                  | number
type           | //tr[@id='form-${number}']/td/form/fieldset/p[1]/input | Type this

CSS 선택기 :

storeAttribute | css=div[1]@id                                                     | divID
storeEval      | '${divID}'.replace("divElement-", "")                             | number
type           | css=tr[id='form-${number}'] > td > form > fieldset > p[1] > input | Type this

다른 팁

XPath에는 문제를 해결 해야하는 많은 기능이 있습니다. "divelement-"가 변하지 않고 XPath 2.0을 사용하고 있다고 상수라고 가정하면 다음을 제안합니다.

substring-after (div [1]/@id/text (), "divelement-")

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top