首页 > 解决方案 > Selenium chromedriver svg dom 抓取链接

问题描述

我有这个http://app.risorseumane.uniparthenope.it/organigramma/organigramma.htm 网页,我需要从网页中获取所有链接。例如我想要链接

<a xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.uniparthenope.it/ateneo/organigramma/rettore" target="_top">
            <g id="shape48-47" transform="translate(355,-400.951)">
                <title>Entità esterna 1.48</title>
                <desc>Rettore</desc>
                <g id="shadow48-48" transform="matrix(1,0,0,1,2.12132,2.12132)" class="st5">
                    <rect x="0" y="531.345" width="136.459" height="63.9306" class="st6"/>
                </g>
                <rect x="0" y="531.345" width="136.459" height="63.9306" class="st7"/>
                <text x="48.7" y="566.91" class="st8">Rettore</text>            </g>
        </a>

我只能使用 chrome 的“检查元素”功能或document.getElementsByTagName('a')在 chrome 中调用开发人员工具窗口来查看。

不幸的是,我无法使用driver.findElementsByTagName("a"); 或使用这些链接

    JavascriptExecutor js = null;
                        if (driver instanceof JavascriptExecutor) {
                            js = (JavascriptExecutor)driver;
                        }
List<Object> fsLinks = (List<Object>)js.executeScript("return document.getElementsByTagName('a');");

标签: seleniumdomsvgselenium-chromedriver

解决方案


您可以尝试使用 xpath:

//*[名称() = 'a']

或者

//*[本地名称() = 'a']


推荐阅读