2016-12-07 41 views
-1

我的问题是在selenium webdriver中使用XPATH查找DOM中的所有Dev数据,以便计算元素的数量。无法使用f12在DOM中使用f12查看所有元素以及在硒中使用XPATH

数据驻留在Dev标签中,并有20个文档。当我做F12时,它一次只显示6个项目,当我尝试使用XPATH查找元素时,它只获取6个文档。如果我在UI中进行滚动,则DOM会更新并显示UI中现在可见的新项目。

那么有什么办法一次从DOM获取所有数据(20个文档)?每次在UI中滚动然后获取数据都会非常棘手并且不可行。

下面是DOM:

<div id="datatable1481094646361" class="webix_view webix_dtable job_table" style="border: 0px solid red; position: relative; width: 1380px; height: 240px;" view_id="optlist-completed"> 
<div class="webix_ss_header" style="height: 47px;"> 
<div class="webix_ss_body"> 
<div class="webix_ss_left" style="width: 0px; height: 193px;"> 
<div class="webix_ss_center" style="width: 1363px; height: 193px;"> 
<div class="webix_ss_center_scroll" style="width: 1363px; height: 193px;"> 
<div class="webix_column webix_first" style="width: 80px; left: 0px; top: 0px;" column="0"> 
<div class="webix_column " style="width: 322px; left: 80px; top: 0px;" column="1"> 
<div class="webix_cell">Opt_S_Rel_034</div> 
<div class="webix_cell">Opt_S_Rel_033</div> 
<div class="webix_cell">Opt_S_Rel_032</div> 
<div class="webix_cell">Opt_S_Rel_031</div> 
<div class="webix_cell">Opt_S_Rel_030</div> 
<div class="webix_cell">Opt_S_Rel_029</div> 
</div> 
<div class="webix_column " style="width: 321px; left: 402px; top: 0px;" column="2"> 
<div class="webix_column " style="width: 100px; left: 723px; top: 0px;" column="3"> 
<div class="webix_column " style="width: 180px; left: 823px; top: 0px;" column="4"> 
<div class="webix_column " style="width: 180px; left: 1003px; top: 0px;" column="5"> 
<div class="webix_column webix_last" style="width: 180px; left: 1183px; top: 0px;" column="6"> 
</div> 
</div> 
<div class="webix_ss_right" style="width: 0px; height: 193px;"> 
</div> 

而且在实际类似于Opt_S_Rel_034有在应用程序UI提供超过20行。

使用:XPATH = // DIV [@的view_id = 'optlist完成的'] // DIV [@柱= 1] 让所有的测试,是只返回6号文件

+0

当我在用户界面中滚动dev时,DOM会更新新数据。我们是否需要从开发方面解决这个问题? –

+0

上面共享的代码片段不是DOM。它是页面源。 – Mouli

回答

0

如果我这样做在UI中滚动DOM得到更新并显示在UI中现在可见的新项目

DOM可能正在通过JavaScript更新,这意味着文档在DOM中不存在,直到更新(由滚动触发下),以及为什么你不能看到他们与F12和硒只捕获6.如果文件不存在于DOM中,Selenium无法取得EM。

+0

对。应用程序是在Angular JS中开发的,所以在这方面可能吗? –

+0

@RaghuvirSingh我知道的唯一解决方案是向下滚动。 – Guy

相关问题