svg
  • selenium-webdriver
  • 2016-05-05 8 views 0 likes 
    0

    Ich versuche, reelle ID-Werte in den folgenden XML-Code zu finden, aber es als leere Liste zu bekommen. Jede Hilfe auf diese sehr geschätzt !!!!!Nicht in der Lage, SVG-Element mit Python Selenium Webdriver zu finden

    <object id="nodia" 
    < svg id="svg2" xmlns:svg='http://www.w3.org/2000/svg'> 
        < g id="layer1> 
        <image id="image3022"></image> 
        <rect id="rect8696"></rect> 
        <rect id="rect8996-6" ></rect> 
        </g> 
    </svg> 
    </object> 
    

    versucht, alle unter possibilties sowohl in Chrom und Firefox:

    driver.find_element_by_xpath ("Objekt // [@ id = 'Nodia']") -> driver.find_elements_by_xpath gearbeitet ("//[local-name() = 'svg' und namespace-uri() = 'http://www.w3.org/2000/svg'] ") -> Gibt eine leere Liste zurück driver.find_elements_by_xpath (" // [local-name() = 'svg' ] ") -> Gibt eine driver.find_elements_by_xpath zurück (" // objekt [@ id = 'nodia']/svg ") -> Gibt eine leere Liste zurück

    Antwort

    0

    Um das id Attribut für jedes rect Element mit einem XPath zu erhalten:

    for e in driver.find_elements_by_xpath("id('svg2')//*[name()='rect']") : 
        print e.get_attribute("id") 
    

    Oder mit einem CSS-Selektor:

    for e in driver.find_elements_by_css_selector("#svg2 rect") : 
        print e.get_attribute("id") 
    
    +0

    driver.find_elements_by_xpath ("id ('svg2') // * [name() = 'rect'] ") gibt auch nur eine leere Liste und nicht die reellen ID-Werte zurück. Bitte helfen Sie dabei! –

    Verwandte Themen