C# Jquery没有';在硒中找不到元素

C# Jquery没有';在硒中找不到元素,c#,jquery,python,selenium,selenium-rc,C#,Jquery,Python,Selenium,Selenium Rc,当我在firebug的控制台中检查时,它会找到这个按钮 我正在使用 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

当我在firebug的控制台中检查时,它会找到这个按钮

我正在使用

 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)
我用WingIde编码

你知道为什么吗

编辑

# -*- coding: utf-8 -*-
我在调试模式下进行检查,并:

#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')")
我将这些查询放在firebug控制台和第一及第二个工作中

编辑

有趣的是,我用c#写了同样的脚本,我也有同样的问题

#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)")

只有d是正确的

如果您想在Selenium中使用CSS/jQuery样式选择器,我认为您必须一直使用CSS选择器。换言之,您需要以下内容:

 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 + "')");
也许有更好的方法可以做到这一点;另外,我还没有用python编程,所以我的语法可能不正确


有关定位器的更多信息,请参阅。

我对此也很感兴趣,您找到解决方案了吗?使用driver.find_element_by_css_selector(“#someid”)
pathOfButton = "css=#" + idOfResultWithSomeImage + " ~ button"
if (!sel.is_element_present(pathOfButton))
    pathOfButton = "css=button ~ #" + idOfResultWithSomeImage

sel.click(pathOfButton)