- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想从html中获取元素
<div style="width: 100%; height: 100%; cursor: url(""), default;" class="yfiles-canvascontrol" tabindex="1"><div style="bottom: 0px; right: 0px;" class="yfiles-svgpanel"><div style="position:absolute;top:0;left:0;height:100%;width:100%;"><svg style="position:absolute;top:0;left:0;height:100%;width:100%;pointer-events:none"><g transform="translate(348.5, 128.5)" style="pointer-events:visiblePainted"><g transform="translate(75 175)" class="aw-relations-groupNodeSvg aw-relations-detailLevel0">
<rect stroke="rgb(191,161,229)" class="aw-widgets-cellListItemNode" height="125" width="300" transform="translate(0 0)"></rect>
<rect stroke="rgb(191,161,229)" class="aw-relations-noeditable-area" height="125" width="300" transform="translate(0 0)"></rect>
<rect stroke="rgb(191,161,229)" class="aw-relations-noeditable-area" height="125" width="300" transform="translate(0 0)"></rect>
<rect stroke="rgb(191,161,229)" height="125" width="300" class="aw-relations-seedNodeSvg" transform="translate(0 0)"></rect>
<rect height="125" width="300" class="aw-relations-noeditable-area" transform="translate(0 0)"></rect>
<g>
<rect fill="rgb(191,161,229)" height="" width="10" transform="translate(0 0)"></rect>
<line stroke="rgb(191,161,229)" y2="" x2="300" y1="" x1="0"></line>
<g transform="translate(65)">
<g id="header">
<g class="" transform="translate(0 20)">
<rect fill="none" height="28px" width="230px" transform="translate(0 0)"></rect>
<text transform="translate(0 21)" ontouchstart="onEditLabelClicked(this)" onclick="onEditLabelClicked(this)" onmouseout="onEditLabelMouseOut(this)" onmouseover="onEditLabelMouseOver(this)" data-id="SR::N::Ase0LogicalElement..Fnd0LogicalBOMLine..5.6ZarDeTC8VoL5B.J$vlO1AI8VI9qC.Group:/Thid_wCYVM0YsoaNeFC,,AWBCB" data-width="100%-80" data-property-name="awb0ArchetypeRevName" class="aw-widgets-cellListCellTitle" id="title">block1</text>
</g>
<g transform="translate(0 46)" data-translate-top="title">
<text transform="translate(0 13)" ontouchstart="onEditLabelClicked(this)" onclick="onEditLabelClicked(this)" onmouseout="onEditLabelMouseOut(this)" onmouseover="onEditLabelMouseOver(this)" data-id="SR::N::Ase0LogicalElement..Fnd0LogicalBOMLine..5.6ZarDeTC8VoL5B.J$vlO1AI8VI9qC.Group:/Thid_wCYVM0YsoaNeFC,,AWBCB" data-width="100%-80" data-property-name="ID" class="aw-widgets-cellListCellItemType" id="subTitle">000444</text>
</g>
<g transform="translate(0 63)" data-translate-top="subTitle">
<text class="aw-widgets-cellListCellPropertyValue" transform="translate(0 15)">Revision: A</text>
</g>
</g>
<g transform="translate(0 93)" data-translate-top="subTitle" data-translate-y="30">
<g ontouchstart="runCommand(this)" onclick="runCommand(this)" data-commandid="com.siemens.splm.client.relations.internal.commands.expandincoming" data-contextmenu="" data-tooltip="Show Incoming Relations" data-id="SR::N::Ase0LogicalElement..Fnd0LogicalBOMLine..5.6ZarDeTC8VoL5B.J$vlO1AI8VI9qC.Group:/Thid_wCYVM0YsoaNeFC,,AWBCB" class="hidden" transform="translate(0 0)">
<rect class="hidden" height="22px" width="22px" transform="translate(0 0)"></rect>
<image xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAApklEQVR42mNgGCxg6tSpBkCcQHWDJ0+e7DBlypT/QLqBJgZD8XxaGQzC+/v7+wVoYTAIn58+fboCMRG0HotmQvg9KGLxGgzyHhkGgw0H+iiAFgaDMc5gocRgvGmcTINBweBAThjPh6aIArIiDpfBsJyGJbmdJzodE2swKFmSlDmINHg+MbmpARkDNd0nYHABsS4kGOtklWajBqOnApwYlKyIKhbpAQDnZhqtR8K2hAAAAABJRU5ErkJggg==" height="22px" width="22px" transform="translate(0 0)"></image>
<text class="hidden" transform="translate(22 15)">0</text>
</g>
<g ontouchstart="runCommand(this)" onclick="runCommand(this)" data-commandid="com.siemens.splm.client.relations.internal.commands.expanddown" data-contextmenu="" data-tooltip="" data-id="SR::N::Ase0LogicalElement..Fnd0LogicalBOMLine..5.6ZarDeTC8VoL5B.J$vlO1AI8VI9qC.Group:/Thid_wCYVM0YsoaNeFC,,AWBCB" class="hidden" transform="translate(55 0)">
<rect class="hidden" height="22px" width="22px" transform="translate(0 0)"></rect>
<image xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAq0lEQVR42mNgoCWYMmXKfnx46tSp66dPn65AjsH/CeHJkyc3jBpMvsEgTcgYaNB9XAYDaQeyLEFKJTgNhorNp5XBILy/v79fgBYGg/B5og3HZjDI61BDC7DIvQdmIgNyDSaE3wMtDqCFwWAMdHkCTQwGYZzlCgUGg4LDAaeLQaUZOYYSFYF4cqkDFkPPk5SeiTR4P8WGYjF4PtVqGySDC6hajYEiCG9apTUAABIoGpLjU/7fAAAAAElFTkSuQmCC" height="22px" width="22px" transform="translate(0 0)"></image>
<text class="hidden" transform="translate(22 15)">0</text>
</g>
<g ontouchstart="runCommand(this)" onclick="runCommand(this)" data-commandid="com.siemens.splm.client.relations.internal.commands.expandtoparent" data-contextmenu="" data-tooltip="Show Parent" data-id="SR::N::Ase0LogicalElement..Fnd0LogicalBOMLine..5.6ZarDeTC8VoL5B.J$vlO1AI8VI9qC.Group:/Thid_wCYVM0YsoaNeFC,,AWBCB" class="aw-relations-nodeExpandToParentTargetSvg" transform="translate(135 0)">
<rect class="hidden" height="22px" width="22px" transform="translate(0 0)"></rect>
<image xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAArklEQVR42mNgGJFg8uTJDVOnTk2gpoEOU6ZMuQ/E/0GGU2zg9OnTFYCG7QcZCMMUGdzf3y8ANKQf2UCKDQaFIdCA99gMJctgaDiex2UgyQaDwhHoyvWEDCTaYFA4ghTh8zbJBkPD8T4pBhI0GCgRQI6BxLrYAD19Ui2MkVx/n+oGI5cBxEYiyekYmn3nU91gtIyyn+oGE8raVCndkDIRdQ3Glu2pajBy+FO1BsEHAGDp1Mi22dsnAAAAAElFTkSuQmCC" height="22px" width="22px" transform="translate(0 0)"></image>
<text class="hidden" transform="translate(22 15)">1</text>
</g>
<g ontouchstart="runCommand(this)" onclick="runCommand(this)" data-commandid="com.siemens.splm.client.relations.internal.commands.children" data-contextmenu="" data-tooltip="" data-id="SR::N::Ase0LogicalElement..Fnd0LogicalBOMLine..5.6ZarDeTC8VoL5B.J$vlO1AI8VI9qC.Group:/Thid_wCYVM0YsoaNeFC,,AWBCB" class="hidden" transform="translate(172 0)">
<rect class="hidden" height="22px" width="22px" transform="translate(0 0)"></rect>
<image xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAmUlEQVR42mNgGNJg6tSp64HYgOoGT5ky5T8U9wOBAC0MBuH3QFxAC4Nh+P7kyZMdaGEwGIPCf/r06QpUNxiGga5vIDn8iTEYFv5AHyTQwmAY3k9U+JNhMAzPxxv+FBgMwuepbTDh9E5OEBCVQkiJNJLKFCIMBOXCAGpmkPdkZQwCBs8nOyvjMPg8xYUPmsGkZVdiAEXhSC8AAEMZxPHTyECZAAAAAElFTkSuQmCC" height="22px" width="22px" transform="translate(0 0)"></image>
<text class="hidden" transform="translate(22 15)">0</text>
</g>
</g>
</g>
</g>
<image preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAACo0lEQVR42u2Yy2sTURTGa9EiRW2puxata8XnymIXWtGlSF0IuhGtD0SkOxddxE0LBUlCngQMcSlK6cJFsbT0P1DcCL7IphQVSxZSULGMv1NmxA6JzePcOxmYCx93JpnM/b5zz+umoyMa0YhG3SObzV7LZDJOiyiDRD6fP2BdgAJ5PxKM3jALELxWF4GrHEun06f9MCRgQ4SmlRMGif7XnbQELAUkwFEJ7CAFqOxCwALKYY4BPTeynEY3QbJdJCDUAtx+pxJUDEgRDXMWqlhNo2z3RfmNZA7uSwrWn7UtYJO/tipEJYAbIVBrwSaFLKlkGmltedk45B76UU1ALBbbzvV18Bss4wZ3mffK5w0IqVg54NQQ0MX1fd93nxByk+/7RYgYhftYjexWaTnzGBDg4S3kbot15bkqQsrWyFeLjzoEeNnlFfMDcKJQKHSnUqk9uVzuZCAHe/d0thETnmW3EvAPPoApyB8pFou72+KfigYFeHgHHrETRwMX0qSAvzuCe00j5DjzrjAK8PBRXAsRw8RITxgFeFgFGeJrpFQq7bSZncaUm7pv7EaS+RwG6jSVia6Ayyx0lYWeGOpOv4AUa5xXFcIL3/PiNfDdxU/Dh5wV5knmw6E5mVXBHAJOaQn4YYn0L/AG4hOk2oNSxcOyA2KgRWkImQ9BfId21nnhpryv4LMbBxrE18E8Fr/FPOg4zjYjaZMeaADrjLLQBTlWcv1Ygfy827kOSAtuo4B1ioVkexFxp4UM81IsDvl96q5Sz5BFWfxeEwf4pxC/lEwm91uxuFYrAekZKUzxeLzPSJU1KGAO4mekfTYWnMoC1t0KvQDOynNtRdwnYNxHXFLrc7F4W5L2BzF+fcOtmquQfqZW8m0MsTDEhyQ45ZhotABFow3HH7lTOrgIGVjwAAAAAElFTkSuQmCC" id="JTThumbnail" height="46px" width="46px" transform="translate(17 19)"></image>
</g>
<g transform="translate(214 164)"><rect stroke-miterlimit="10" stroke-linejoin="miter" stroke-linecap="butt" stroke-width="1" stroke-opacity="1" fill-opacity="1" class="aw-widgets-cellListItemSelected" y="0" x="0" height="22" width="22" stroke="rgb(0,0,0)" fill="rgb(255,255,255)"></rect>
</g>
<g transform="translate(236 141)"><text transform="translate(0 0)" dy="1em" fill-opacity="1" fill="rgb(0,0,0)" text-anchor="start" font-weight="600" font-style="normal" font-size="16px" font-family="Segoe UI">P</text></g>
</g>
<defs>
</defs>
</svg>
</div>
<div class="yfiles-overlaypanel">
<div class="yfiles-canvascontrol" tabindex="1" style="position: absolute; width: 300px; height: 125px; display: none;">
<div class="yfiles-svgpanel">
<div style="position:absolute;top:0;left:0;height:100%;width:100%;">
<svg style="position:absolute;top:0;left:0;height:100%;width:100%;pointer-events:none">
<g transform="translate(0 0)" style="pointer-events:visiblePainted">
<rect fill-opacity="1" stroke-miterlimit="10" stroke-linejoin="miter" stroke-linecap="butt" stroke-width="1" stroke-opacity="1" y="0" x="0" height="125" width="300" stroke="rgb(0,0,0)" fill="rgb(255,255,255)"></rect>
</g>
<defs>
</defs>
</svg>
</div>
</div>
<div style="cursor: default; display: none;" class="yfiles-scrollbar yfiles-scrollbar-vertical" tabindex="1">
<div class="yfiles-button yfiles-button-up">▲</div>
<div class="yfiles-scrollbar-range yfiles-scrollbar-range-vertical" tabindex="1">
<div class="yfiles-scrollbar-range-content"><div class="yfiles-scrollbar-slider">
<div class="yfiles-scrollbar-slider-content">
</div>
</div>
</div>
</div>
<div class="yfiles-button yfiles-button-down">▼</div>
</div>
<div style="cursor: default; display: none;" class="yfiles-scrollbar yfiles-scrollbar-horizontal" tabindex="1">
<div class="yfiles-button yfiles-button-left">◄</div>
<div class="yfiles-scrollbar-range yfiles-scrollbar-range-horizontal" tabindex="1">
<div class="yfiles-scrollbar-range-content"><div class="yfiles-scrollbar-slider">
<div class="yfiles-scrollbar-slider-content"></div>
</div>
</div>
</div>
<div class="yfiles-button yfiles-button-right">►</div>
</div>
</div>
</div>
</div>
<div style="cursor: default; width: 0px; bottom: 0px;" class="yfiles-scrollbar yfiles-scrollbar-vertical" tabindex="1">
<div class="yfiles-button yfiles-button-up">▲</div>
<div class="yfiles-scrollbar-range yfiles-scrollbar-range-vertical" tabindex="1">
<div class="yfiles-scrollbar-range-content">
<div style="height: 0px; margin-top: 0px;" class="yfiles-scrollbar-slider">
<div class="yfiles-scrollbar-slider-content"></div>
</div>
</div>
</div>
<div class="yfiles-button yfiles-button-down">▼</div>
</div>
<div style="cursor: default; height: 0px; right: 0px; display: none;" class="yfiles-scrollbar yfiles-scrollbar-horizontal" tabindex="1"><
div class="yfiles-button yfiles-button-left">◄</div><div class="yfiles-scrollbar-range yfiles-scrollbar-range-horizontal" tabindex="1">
<div class="yfiles-scrollbar-range-content">
<div style="width: 0px; margin-left: 0px;" class="yfiles-scrollbar-slider">
<div class="yfiles-scrollbar-slider-content"></div>
</div>
</div>
</div>
<div class="yfiles-button yfiles-button-right">►</div>
</div>
</div>
ISingleLocator
类型的文件。代码如下:
<rect stroke-miterlimit="10" stroke-linejoin="miter" stroke-linecap="butt" stroke-width="1" stroke-opacity="1" fill-opacity="1" class="aw-widgets-cellListItemSelected" y="0" x="0" height="22" width="22" stroke="rgb(0,0,0)" fill="rgb(255,255,255)"></rect> from given code.
我试过这个:
ISingleLocator m_nodeContainer1 = $( "div.aw-relations-innerContainer div div div svg g g rect.aw-widgets-cellListItemSelected " );
但我无法获取该位置。请告诉我确切的 CSS 选择器以获取该 rect
标记。
最佳答案
使用 Selenium 和 Java 可以通过不同的方式找到 WebElement
。这些可能是:
使用 CSS 选择器:
WebElement rect = find(By.cssSelector("aw-widgets-cellListItemSelected"));
使用 XPATH 选择器:
WebElement rect = find(By.xpath("//rect [contains(@class, 'aw-widgets-cellListItemSelected')]));
带有 ID 选择器:
WebElement rect = find(By.id("<your ID here>"));
但是请忘记 ID,因为您没有给定矩形的 @ID。
如果你有多个 rect
与这个类名你也可以使用 WebElements
而不是 WebElement
所以你会得到一个列表结果。
关于css - 关于不包含 class 或 id 属性的 css 选择器的 selenium 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31823485/
我有一个类似于以下的结构。 class A { string title; List bItem; } class B { int pric
本地流 和 远程流 两者都是“媒体流列表 ”。 本地流 包含“本地媒体流 ” 对象 但是,远程流 包含“媒体流 ” 对象 为什么差别这么大? 当我使用“本地流 “- 这个对我有用: localVide
我正在尝试将 8 列虚拟变量转换为 8 级排名的一列。 我试图用这个公式来做到这一点: =IF(OR(A1="1");"1";IF(OR(B1="1");"2";IF(OR(C1="1");"3";I
我正在使用面向对象编程在 Python 中创建一个有点复杂的棋盘游戏的实现。 我的问题是,许多这些对象应该能够与其他对象交互,即使它们不包含在其中。 例如Game是一个对象,其中包含PointTrac
有没有办法获取与 contains 语句匹配的最深元素? 基本上,如果我有嵌套的 div,我想要最后一个元素而不是父元素: Needle $("div:contains('Needle')")
出于某种原因,我无法在 Google 上找到答案!但是使用 SQL contains 函数我怎么能告诉它从字符串的开头开始,即我正在寻找等同于的全文 喜欢 'some_term%'。 我知道我可以使用
我正在尝试创建一个正则表达式来匹配具有 3 个或更多元音的字符串。 我试过这个: [aeiou]{3,} 但它仅在元音按顺序排列时才有效。有什么建议吗? 例如: 塞缪尔 -> 有效 琼 -> 无效 S
嘿所以我遇到了这样的情况,我从数据库中拉回一个客户,并通过包含的方式包含所有案例研究 return (from c in db.Clients.Include("CaseStudies")
如果关键字是子字符串,我无法弄清楚为什么这个函数不返回结果。 const string = 'cake'; const substring = 'cak'; console.log(string.in
我正在尝试将包含特定文本字符串的任何元素更改为红色。在我的示例中,我可以将子元素变为蓝色,但是我编写“替换我”行的方式有些不正确;红色不会发生变化。我注意到“contains”方法通常写为 :cont
我想问一下我是否可以要求/包含一个语法错误的文件,如果不能,则require/include返回一个值,这样我就知道所需/包含的文件存在语法错误并且不能被要求/包含? file.php语法错误 inc
我想为所有包含youtube链接的链接添加一个rel。 这就是我正在使用的东西-但它没有用。有任何想法吗? $('a [href:contains(“youtube.com”)]')。attr('re
我正在尝试在 Elasticsearch 中查询。除搜索中出现“/”外,此功能均正常运行。查询如下所示 GET styling_rules/product_line_filters/_search {
我正在开发名为eBookRepository的ASP.NET MVC应用程序,其中包含在线图书。 电子书具有自己的标题,作者等。因此,现在我正在尝试实现搜索机制。我必须使用Elasticsearch作
我已阅读Firebase Documentation并且不明白什么是 .contains()。 以下是文档中 Firebase 数据库的示例规则: { "rules": { "rooms"
我的问题是我可以给出条件[ 'BookTitleMaster.id' => $xtitid, ] 如下所示 $bbookinfs = $this->BookStockin->BookIssue->fi
我需要能够使用 | 检查模式在他们中。例如,对于像“dtest|test”这样的字符串,像 d*|*t 这样的表达式应该返回 true。 我不是正则表达式英雄,所以我只是尝试了一些事情,例如: Reg
我想创建一个正则表达式来不匹配某些单词... 我的字符:var test = "é123rr;and;ià456;or;456543" 我的正则表达式:test.match(\((?!and)(?!o
我在 XSLT 中有一个名为 variable_name 的变量,如果相关产品具有名称为 A 或 B 或两者均为 A & 的属性,我将尝试将其设置为 1 B.
您好,我想让接待员和经理能够查看工作类型和费率并随后进行更新。但是技术人员只能查看不能更新。该图是否有效? 我读到扩展用例是由发起基本用例的参与者发起的。我应该如何区分技术人员只能启动基本案例而不能启
我是一名优秀的程序员,十分优秀!