sel.add_script(sel.get_location(), "jquery.js")
#here I get u'fd6c42bcc770ca9decc4f358df3688290a4257ad'`
idOfResultWithSomeImage=sel.get_eval("window.jQuery('#result').find('img').filter('[alt=SeleImage]').eq(0).parents('form:first').find('a').eq(1).attr('id')")`
#here I get u"window.jQuery('#fd6c42bcc770ca9decc4f358df3688290a4257ad').parent().find('button')"
pathOfButton="window.jQuery('#" + idOfResultWithSomeImage+ "').parent().find('button')"
#here I get false :/
isButtonPreset = sel.is_element_present(pathOfButton)
#so here I get error. Element not present.
sel.click(pathOfButton)
방화 광구의 콘솔에서 이것을 확인하면이 버튼을 찾습니다.Jquery가 셀레늄에서 요소를 찾지 못했습니다.
나는
# -*- coding: utf-8 -*-
을 사용하고 있는데 나는 WingIde 코딩하고 있습니다.
이유가 궁금하십니까?
편집
#from here I get 08f0ddbfa71df43bee87d9becdec5ced4ead3419
idOfResultWithRyanairFlight=sel.get_eval("window.jQuery('#result').find('img').filter('[alt=Ryanair]').eq(0).parents('form:first').find('a').eq(1).attr('id')")
내가 디버그 모드에서 확인 :
#it returns true
sel.is_element_present("css=#08f0ddbfa71df43bee87d9becdec5ced4ead3419")
#it returns false
sel.is_element_present("window.jQuery('#08f0ddbfa71df43bee87d9becdec5ced4ead3419')")
#it return false
sel.is_element_present("window.jQuery(#08f0ddbfa71df43bee87d9becdec5ced4ead3419)")
나는 불을 지르고 콘솔과 제 1 및 제 2 작업에서는이 쿼리를 넣어.
편집
흥미로운 무엇, 나는 C#에서 같은 스크립트를 작성하고 저도 같은 문제가 있습니다.
var dOfA = selenium.GetEval("window.jQuery('#result').find('img').filter('[alt=SomeIMG]').eq(0).parents('form:first').find('a').eq(1).attr('id')");
var a=selenium.IsElementPresent("window.jQuery('#" + dOfA + "').parent().find('button')");
var b = selenium.IsElementPresent("$('#" + dOfA + "')");
var c = selenium.IsElementPresent("jQuery('#" + dOfA + "')");
var d = selenium.IsElementPresent("css=#" + dOfA);
var e = selenium.GetEval("window.jQuery('#" + dOfA + "')");
d 만 true입니다.
나는 이것도 intereset 오전, 당신은 해결책을 찾았나요? – Alp
driver.find_element_by_css_selector ("# someid") – malletjo