1

최근 웹뷰가있는 응용 프로그램을 테스트하기 위해 Selenium을 사용하기 시작했습니다. 글쎄 내 웹보기의 코드는 다음과 같습니다.Ruby와 함께 Selenium Webdriver의 css selector/xpath를 사용하여 요소 찾기

<div class="class1 class2 class3 class4" style="padding: 4px;" id="_6bd7b91a-214c-4075-b7db-dcaa08155e1a"> 
    <span class="class5" style="font-weight: bold; text-decoration: underline;">This is TITLE</span> 
    <div class="class6" dd:contenttype="content_type1" dd:concept="TITLE" id="_1d8c4490-d0c1-42ed-a93e-e92ca570dd32"> 
    <div class="class7"> 

자동화 테스트를위한 요소를 찾으려면 재사용 가능한 코드를 작성하고 있습니다. 위의 코드에서 요소는 두 가지 방법으로 찾을 수 있습니다. 'dd:concept="TITLE"' 또는 "This is TITLE" 텍스트를 기반으로 찾을 수 있습니다. 하지만 내가 원하는 방식으로 요소를 찾을 수있는 셀레늄에서 아무것도 찾을 수 없습니다.

"find_element"를 사용하여 요소를 찾았으나 'dd:concept="TITLE"' 또는 "This is TITLE"을 인수로 사용할 수 없습니다.

내가 시도 - driver.find_element(:css, "span.class5") 또는 driver.find_element(:css, "div.class1 class2 class3 class4 span.class5")

내가 셀레늄 드라이버와 아규먼트와 같은 텍스트를 사용하여 웹보기에서 요소를 찾을 수 있습니다 어쨌든 있나요?

답변

1

FindElement (By.CssSelector ("[dd : concept = 'TITLE']"))가 작동해야합니다.

아, 당신은 루비를 사용하고 있습니다.

find_element (: CSS, "[DD : 개념 = 'TITLE을']")

편집 다시 한 번

나는, 당신이 시도 할 수 찾고 조금했다. 태그 이름 DD에서 : 개념, 같은 :

나는 탈출 제안

find_element을 (: CSS를, "[DD : \ 개념 = 'TITLE']")

+0

감사합니다 리처드! 그러나 그것은 나에게 많은 도움이되지 못했습니다. 나는 $ driver.find_element ("dd : concept = 'TITLE']"))를 수행하고 있는데 "NameError : uninitialized constant by from (pry) : 3 : 블록 (3 레벨) in ' "오류가 발생했습니다. –

+0

find_element가 가져 오는 유일한 인수는 - (: class, : class_name, : css, : id, : link_text, : link, : partial_link_text, : name, : tag_name, : xpath) –

+0

나는 그런 식으로 시도했다. . "Selenium :: WebDriver :: Error :: UnknownError : 명령을 처리하는 동안 알 수없는 서버 측 오류가 발생했습니다." 오류 –