【发布时间】:2018-11-21 09:51:35
【问题描述】:
下面是相同的代码
<section id=“zone_body” class =“zone zone_body>
<div class =“row”>…<div>
<div data-o_id="4915279" data-renderertype="imagesonly" class="module module-carousel module-carousel--imagesonly col col--1-1" id="module-2319657">
::after
</div>
<div class =“row”>…<div>
<div class =“row”>…<div>
<div class =“row”>…<div>
<div class =“row”>…<div>
<div class =“row”>…<div>
<div class =“row”>…<div>
<div class =“row”>…<div>
</section>
我正在测试一个网页,我正在尝试使用 selenium 和 Java 实现自动化。根据上面的 html 代码,我正在测试的每个页面都有这个标准的 16 种不同类型的数据渲染器类型,并且根据上面的代码,主体内的 8 个不同 div 类可以具有相同或不同的数据渲染器类型,例如上面有“imagesonly”,可以是任何随机顺序。我真正想要实现的是从所有 8 个中提取所有 data-renderertype 值(这不是一个常数,因为它可能因页面而异)不同的 div 类,以便可以将其存储并用于将其与不同版本的网站。我希望这是有道理的,任何帮助都将不胜感激,因为我现在不知所措,不知道从哪里开始。
【问题讨论】:
-
id 是否总是以名称模块开头,即 id="module......"
-
是的,他们总是 id="module-xxxx" @AshishKamble
-
ok 然后使用 By.XPath("*//div[starts-with(@id,'module')]")
-
@Ajit 不提供 量身定制的 HTML,而是使用基于文本的实际相关 HTML 更新问题以供进一步分析。
标签: java arrays selenium selenium-webdriver webdriver