2014-10-06 3 views
-1

드롭 다운 목록에서 요소를 선택하려고합니다. 요소는 해당 값 (날짜)으로 정의됩니다. 이 예에서는 내가 선택하려고하는 날짜가 오늘이라고 가정 해 봅시다. 요소의 값은 "2014/10/06"입니다.변수로 요소 찾기

"2014/10/06"이있는 필드에 링크되는 "oracledate"변수를 정의했습니다. 인쇄 할 때 (oracledate) 2014/10/06이 나타나기 때문에 정확하게 정의하고 있다는 것을 알고 있습니다. 그러나

, 다음 코드는 작동하지 않습니다

browser.find_element_by_xpath("//option[contains(@value, oracledate)]").click() 

내가 하드 코딩, 제대로 작동 : 나는를 사용하여 요소를 찾을 때

browser.find_element_by_xpath("//option[contains(@value, '2014/10/04')]").click() 

가 왜 작동하지 않습니다 변하기 쉬운?

답변

1

사용 str.format :

>>> oracledata = '2014/10/04' 
>>> "//option[contains(@value, '{}')]".format(oracledata) 
"//option[contains(@value, '2014/10/04')]" 

또는 % operator가 : 대답에 대한

>>> "//option[contains(@value, '%s')]" % oracledata 
"//option[contains(@value, '2014/10/04')]" 
+0

감사합니다. 내가 그 중 하나를 시도하면 오류가 xpath 요소를 찾을 수 없다는 말. 내가 잘못 포맷 된 것 같아요? 왜냐하면 나는 그들이 지금 가지고 있다고 생각하기 때문에, 브라우저는 "% s"값을 가진 요소를 찾으려고합니다. 죄송합니다, 이것은 파이썬을 사용한 첫 번째 시간 중 하나입니다 ... – sdailey814

+0

또한 "oracledate"는 이미 문자열 변수 – sdailey814

+0

@ sdailey814입니다. 답변에서 언급 한대로 연산자 % %를 사용 했습니까? 'browser.find_element_by_xpath ("// option [contains (@value, '% s')]"% oracledata) .click()' – falsetru