相关疑难解决方法(0)

如何在Selenium WebDriver中使用xPath来获取SVG元素?

我正在OpenLayers使用Selenium WebDriver(Java版本)测试API .

我想测试一个使用OpenLayers.Control.ModifyFeature 的功能.我想点击绘制的特征(SVG),然后拖动并检查它们是否存在,可见或隐藏.

我画了一个多边形,我选择了它.见下图:

polygon_and_handles

这些SVG元素的HTML在这里:

<svg id="OpenLayers_Layer_Vector_161_svgRoot" width="1235" height="495" viewBox="0 0 1235 495" style="display: block;">
    <g id="OpenLayers_Layer_Vector_161_root" transform="" style="visibility: visible;">
        <g id="OpenLayers_Layer_Vector_161_vroot">
            <path id="OpenLayers_Geometry_Polygon_200" d=" M 393.0000000000964,213.9999999999891 486.0000000003338,275.9999999997126 384.00000000036925,284.9999999994434 393.0000000000964,213.9999999999891 z" fill-rule="evenodd" fill="blue" fill-opacity="0.4" stroke="blue" stroke-opacity="1" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="none" pointer-events="visiblePainted" cursor="pointer" />
            <circle id="OpenLayers_Geometry_Point_619" cx="439.50000000021464" cy="244.99999999985084" r="6" fill="#009900" fill-opacity="0.5" stroke="#ee9900" stroke-opacity="1" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="none" pointer-events="visiblePainted" cursor="inherit" />
            <circle id="OpenLayers_Geometry_Point_621" cx="435.00000000035106" cy="280.49999999958163" r="6" fill="#009900" fill-opacity="0.5" stroke="#ee9900" stroke-opacity="1" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="none" pointer-events="visiblePainted" …
Run Code Online (Sandbox Code Playgroud)

java selenium xpath svg

13
推荐指数
2
解决办法
2万
查看次数

如何通过Java使用XPath和Selenium WebDriver单击SVG元素

我有一个SVG带有几个矩形元素的对象。使用geckodriver,我试图单击主要SVG对象之一。但是,使用xpath-checker我无法检测到正确的xpath到相同值。

到现在为止,我可以深入了解以下内容xpath:

id('avg_score_chart')/div/div[1]/*[local-name()='svg' and namespace-uri()='http://www.w3.org/2000/svg']
Run Code Online (Sandbox Code Playgroud)

我的HTML代码如下:

<div id="avg_score_chart" class="chart" style="height: 250px; color: black ! important; overflow: hidden; text-align: left;">
<div class="amcharts-main-div" style="position: relative;">
<div class="amcharts-chart-div" style="overflow: hidden; position: relative; text-align: left; width: 525px; height: 212px; padding: 0px;">
<svg version="1.1" style="position: absolute; width: 525px; height: 212px; top: 0.450012px; left: -0.5px;">
<desc>JavaScript chart by amCharts 3.17.1</desc>
<g>
<g>
<g>
<g>
<g>
<g>
<g transform="translate(60,52)">
<g transform="translate(96,41)">
<g transform="translate(96,123)">
<g transform="translate(96,123)"> …
Run Code Online (Sandbox Code Playgroud)

selenium xpath svg amcharts selenium-webdriver

5
推荐指数
1
解决办法
3462
查看次数

如何用selenium找到svg元素?

我正在构建一个 python Instagram 机器人,我试图让它点击 DM 图标,但我不知道如何选择它。

我尝试通过 Xpath 选择,但似乎无法将其导航到图标。以下是 Instagram DM 图标的 html 代码:

<svg aria-label="Messenger" class="_8-yf5 " color="#262626" fill="#262626" height="24" role="img" viewBox="0 0 24 24" width="24">
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏。

python selenium bots instagram

4
推荐指数
1
解决办法
5308
查看次数

标签 统计

selenium ×3

svg ×2

xpath ×2

amcharts ×1

bots ×1

instagram ×1

java ×1

python ×1

selenium-webdriver ×1