0

我想在amazon.in上自动完成自动完成建议。但与谷歌搜索选项不同,当您右键单击建议时,您无法检查它。请帮我检查一下。非常感谢如何使用selenium webdriver处理amazon.in的自动完成建议?

我已经修整了下面的代码,但返回的列表大小为零

截图:

enter image description here

driver.get("https://www.amazon.in"); 
driver.findElement(By.xpath("//input[@id='twotabsearchtextbox']")).sendKeys("Watch"); 
Thread.sleep(9000); 
List<WebElement> findElements = driver.findElements((By.xpath("//div[@id='srch_sggst']/div"))); 
System.out.println("Size is"+findElements.size()); 
for(WebElement a:findElements) 
{ 
    System.out.println(a.getText()); 
} 

回答

0

我终于找到了。这并不容易(对我来说)。通常,我所做的是打开开发工具栏,找到我认为下拉菜单的一般区域,然后开始在开发工具栏中悬停,直到看到下拉菜单亮起。这个被埋在HTML的另一部分。

我所看到的,导致我有

<div class="nav-fill"> 
    <div class="nav-search-field "> 
    <input type="text" id="twotabsearchtextbox" value="" name="field-keywords" autocomplete="off" placeholder="" class="nav-input" tabindex="6"> 
    </div> 
    <div id="nav-iss-attach"></div> 
</div> 

当我徘徊div.nav-fill,我看到了它的搜索框。然后我注意到div#nav-iss-attach是空的,id谈到了attach,这导致我认为它是一个附加点(并且它接近搜索框)。我搜索了HTML的nav-iss-attach,当我没有找到任何东西时,我开始扫描HTML相关的东西。然后我跑过div#nav-flyout-iss-anchor(它参考iss),打开它,开始徘徊,就是这样。此时,您可以开始扩展每个子元素,并查看不同的建议以及如何构建HTML。

这里是 “硒” 的建议

<div id="nav-flyout-iss-anchor"> 
    <div id="nav-flyout-searchAjax" class="nav-issFlyout nav-flyout" style="display: none; position: absolute; top: 6px; left: 238.344px; width: 656px;"> 
    <div id="suggestions-template"> 
     <div id="suggestions"> 
     <div id="issDiv0" class="s-suggestion" data-alias="aps" data-keyword="selenium supplements" data-store="All Categories" data-issc="false" data-isfb="" data-type="a9-xcat" data-nid="" data-crid="A3XLQRY17RL9"><span class="s-heavy">selenium</span> supplements</div> 
     <div id="issDiv1" class="s-suggestion" data-alias="hpc" data-keyword="selenium supplements" data-store="Health &amp; Personal Care" data-issc="false" data-isfb="" data-type="a9-xcat" data-nid="" data-crid="A3XLQRY17RL9"> <span style="padding-left: 16pt" class="a-size-mini">in <span class="a-color-tertiary">Health &amp; Personal Care</span></span></div> 
     <div id="issDiv2" class="s-suggestion" data-alias="aps" data-keyword="selenium testing" data-store="" data-issc="false" data-isfb="" data-type="a9" data-nid="" data-crid="A3XLQRY17RL9"><span class="s-heavy">selenium</span> testing</div> 
     <div id="issDiv3" class="s-suggestion" data-alias="aps" data-keyword="selenium tablets" data-store="" data-issc="false" data-isfb="" data-type="a9" data-nid="" data-crid="A3XLQRY17RL9"><span class="s-heavy">selenium</span> tablets</div> 
     <div id="issDiv4" class="s-suggestion" data-alias="aps" data-keyword="selenium webdriver" data-store="" data-issc="false" data-isfb="" data-type="a9" data-nid="" data-crid="A3XLQRY17RL9"><span class="s-heavy">selenium</span> webdriver</div> 
     <div id="issDiv5" class="s-suggestion" data-alias="aps" data-keyword="selenium cookbook" data-store="" data-issc="false" data-isfb="" data-type="a9" data-nid="" data-crid="A3XLQRY17RL9"><span class="s-heavy">selenium</span> cookbook</div> 
     <div id="issDiv6" class="s-suggestion" data-alias="aps" data-keyword="selenium interview questions" data-store="" data-issc="false" data-isfb="" data-type="a9" data-nid="" data-crid="A3XLQRY17RL9"><span class="s-heavy">selenium</span> interview questions</div> 
     <div id="issDiv7" class="s-suggestion" data-alias="aps" data-keyword="selenium design patterns and best practices" data-store="" data-issc="false" data-isfb="" data-type="a9" data-nid="" data-crid="A3XLQRY17RL9"><span class="s-heavy">selenium</span> design patterns and best practices</div> 
     <div id="issDiv8" class="s-suggestion" data-alias="aps" data-keyword="selenium plus" data-store="" data-issc="false" data-isfb="" data-type="a9" data-nid="" data-crid="A3XLQRY17RL9"><span class="s-heavy">selenium</span> plus</div> 
     <div id="issDiv9" class="s-suggestion" data-alias="aps" data-keyword="selenium java" data-store="" data-issc="false" data-isfb="" data-type="a9" data-nid="" data-crid="A3XLQRY17RL9"><span class="s-heavy">selenium</span> java</div> 
     </div> 
    </div> 
    </div> 
</div> 
+0

太谢谢你了。它真的工作:) –