저는 Behat과 Selenium 서버를 가지고 놀고 있습니다. 문서의 위치를 기반으로 특정 태그를 타겟팅하려고합니다.셀레늄 :이 표현식은/Xpath가 아닌 합법적 인 표현입니다.
GUI 인 AquaPath를 사용하여 XPath로 게임하고 정상적으로 작동합니다. 내 문제는 내가 Behat/Selenium에서 같은 표현식을 시도 할 때 "표현식이 합법적 인 표현식이 아닙니다"라는 오류 메시지가 있다는 것입니다. 나는이 속성을 갖는 다섯 번째 레이블 요소의 "에 대한"속성을 찾고 있어요
(//label)[5]/@for
:
여기 내 XPath는 것입니다.
The given selector //html//(label)[1] is either invalid or does not result in a WebElement. The following error occurred:
[InvalidSelectorError] Unable to locate an element with the xpath expression //html//(label)[1] because of the following error:
[Exception... "The expression is not a legal expression." code: "51" nsresult: "0x805b0033 (NS_ERROR_DOM_INVALID_EXPRESSION_ERR)" location: "file:///var/folders/66/bv_nvdt97f33pm2qn78v_8qc0000gn/T/anonymous5419845357799771264webdriver-profile/extensions/[email protected]/components/driver_component.js Line: 2621"]
Command duration or timeout: 6 milliseconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/invalid_selector_exception.html
Build info: version: '2.23.1', revision: '17143', time: '2012-06-08 18:59:04'
System info: os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.7.4', java.version: '1.6.0_33'
Driver info: driver.version: EventFiringWebDriver
Session ID: c3bdf2e6-5042-ac4a-95c5-4735f4318899
어떤 생각 : 여기
은 (HTML이 자동으로 추가됩니다 // 참고) 전체 로그입니다 ... 쉽게 보이지만 작동하지 않고 정말 왜 몰라?<!DOCTYPE html>
<html>
<head></head>
<body>
<form action="" method="get" accept-charset="utf-8">
<label for="label1"></label>
<label for="label2"></label>
<div>
<label for="label3"></label>
</div>
<fieldset>
<div>
<label for="label4"></label>
</div>
</fieldset>
<label for="label5"></label>
<label for="label6"></label>
<label for="label7"></label>
<label for="label8"></label>
<label for="label9"></label>
<p><input type="submit" value="Continue →"></p>
</form>
</body>
</html>
일치하는 HTML을 제공 할 수 있습니까? –
내 글을 편집 할 때 완료됩니다. 감사. – tvial