我是一个自动化测试的新手,现在我正在使用selenium C#。我有一个问题,我想从一个元素中获取文本,但是代码:
<div class="item">
Text1
<span>textdontwant</span>
</div>
和我的声明
driver.findElement(by.xpath(“//*[@id='contact list']/div[1]/div/div[1]/div/div/div/div/div/div[2]”)).text;
获取:
有人有办法吗?非常感谢!此处为HTML:
<div id="contactList" class="web z-data-list" tabindex="30" style="position: relative;">
<div style="overflow: visible; height: 0px; width: 0px;">
<div class="virtualized-scroll testing" style="height: 657px; width: 304px;">
<div aria-label="grid" class="ReactVirtualized__Grid ReactVirtualized__List" role="grid" tabindex="-2" style="box-sizing: border-box; direction: ltr; height: 657px; position: absolute; width: 304px; will-change: auto; overflow: auto;">
<div class="ReactVirtualized__Grid__innerScrollContainer" style="width: auto; height: 2198px; max-width: 304px; max-height: 2198px; overflow: hidden; position: relative;">
<div style="height: 44px; left: 0px; position: absolute; top: 0px; width: 100%;">
<div class="contact-list__add flx flx-al-c nav-button_add_friend clickable "><i class="fa fa-icon-add-friend contact-list__add__icon "></i><span class="contact_add_friend_item" data-translate-inner="STR_CONTACT_ADD_FRIEND">Thêm bạn</span></div>
</div>
<div style="height: 72px; left: 0px; position: absolute; top: 266px; width: 100%;">
<div class="item minimized rel list-friend-conctact ">
<div class="avatar avatar--m list-friend-conctact__avatar">
<div class="avatar-img outline" style="background-image: url("//s120.avatar.talk.zdn.vn/4/8/c/f/27/120/c5ee9f2b5a5a87d227fe2faf376f2e2c.jpg");"></div>
</div>
<div class="list-friend-conctact friend_onlines_dot"></div>
<div class="item-title list-friend-conctact__title has-status ">Text1
<span class="friend_online_status truncate" style="top: 0px; left: 3px;">Text dont want</span>
</div>
</div>
</div>
</div>
根据您提供的提取文本Text1的HTML,您可以使用以下代码块:
IWebElement myElem = driver.FindElement(By.XPath("//div[@class='item-title list-friend-conctact__title has-status']"));
string myText = (string)((IJavaScriptExecutor)driver).ExecuteScript("return arguments[0].firstChild.textContent;", myElem);
问题内容: 是否可以仅从父元素而不是Selenium中的子元素获取文本? 示例:假设我有以下代码: 用C#(或任何语言),我将有: 但是,链接文本将带有“ Google Link此链接会将您带到Google主页”。 如果不进行大量的字符串操作(例如获取所有子项的文本并从父项的结果文本中减去该文本),是否有办法从父项元素中仅获取文本? 问题答案: 这是一个常见的问题,因为您无法直接访问文本节点- 换
在Selenium中,是否可以仅从父元素而不是其子元素获取文本? 例如:假设我有以下代码: 用C#(或任何语言),我将有: 然而,链接文本将有“谷歌链接”这个链接将带你进入谷歌主页 如果不进行一系列字符串操作(例如获取所有子元素的文本,并从父元素的结果文本中减去这些文本),有没有办法只从父元素获取文本?
问题内容: 想象一下,我有以下类似的东西修改 如何在不影响任何子元素的情况下从DOM中仅删除(仅文本)“第一”,“第二”和“第三”。 问题答案: 如果要删除所有子文本节点,则可以使用,然后将匹配集减少为仅文本节点: 注意 :这将保留子元素上所有现有的事件处理程序,使用答案不会做(因为从DOM中删除了这些元素并重新添加了这些元素)。 注2 :一些链接的问题中的答案显示的代码与我的答案中的代码相似,但
问题内容: 的HTML 码 问题答案: 我已经看到这个问题在过去大约一年左右的时间里弹出了几次,我想尝试编写此函数…所以就到这里了。它接受父元素,并删除每个子元素的textContent,直到剩下的是textNode为止。我已经在您的HTML上对其进行了测试,并且可以正常工作。 你叫它
问题内容: 比方说: 对此: 我一直在寻找使用Mootools,jQuery甚至是(原始)JavaScript的方法,但是却不知道该怎么做。 问题答案: 使用jQuery,您可以执行以下操作: 快速链接到文档: 内容(): jQuery replaceWith( 内容 :[ 字符串 | 元素 | jQuery ]): jQuery