我试图从网页上获取联系信息。每个联系人都列在info
课程中。我想要的信息位于n
,adr
和primary phone
类中。我想要做的是迭代每个info
元素,检查它是否有这3个子元素,如果所有3元素存在,则将它添加到ArrayList。
下面是html
中基本父子关系的一个例子<div class = "info"> <h2 class = "n">Header</h2> <div class = "info-section info-primary"> <p class = adr> address here </p> <ul class = "phones> phone# </u> </div> </div>
感谢那些帮助我的人,我只想得到我想要的孩子元素。但是,我需要检查并确保每个父元素都包含这些子元素,然后将它们添加到我的列表中。
例如:一个联系人可能是
<div class = "info"> <h2 class = "n">Company Name</h2> </div> </div>
由于没有列出电话或地址,我不想从网页上获取这些电话或地址,然后转到下一个联系人。
答案 0 :(得分:0)
由于您需要的所有信息都存在于标签和类的html上,因此您只需要编写一个能够过滤它的选择器,而不仅仅是使用Java代码来执行此操作。
如果没有完整的HTML,很难想象或想到为您编写选择器的更好方法(CssSelector或XPath仍然看起来更好的选项)。因此,您可以尝试以下CssSelector,或根据您的需要进行调整:
driver.findElements(By.cssSelector(".info > h2 .info .adr, .info > h2 .phones"));