2015-09-27 97 views

回答

2

嗯,有这么多不同的技术来定位HTML元素。如果我是你,我会用多个例子列出可能的技巧。 XPath表达式和CSS选择器可以解救。

标签名称,id,name,class或任何其他与数据相关的属性通常是定位元素的良好可靠选择。如果这些都不存在,它将取决于元素所在的位置,父母,兄弟姐妹,祖先等的具体位置以及元素文本,相应标签(如果有),父母的独特性 - 操作中的变量太多。


例如,假设您有以下HTML:

<span> 
    <label>Category:</label> 
    <b>Desired text</b> 
</span> 

所需b这里本身标签没有idname,但它很容易地看到,我们或许可以依靠其前面的兄弟和使用XPath表达式:

//label[. = "Category:"]/following-sibling::* 

有时候我们知道所期望的元素在元素中的特定位置处。例如:

<tr> 
    <td>text1</td> 
    <td>Desired text</td> 
    <td>text3</td> 
</tr> 

在这种情况下,我们可以简单地从tr获得第二td

//tr/td[2] 

有时候,也有一些是在元素的 “文本”:

<div>The quick brown fox jumps over the lazy dog</div> 

比方说,我们知道,“狐狸”是存在的:

//div[contains(., "fox")] 

依此类推。

2

面试的问题始终是一个挑战,并且通常试图非法从受访者,通常有一点做与问题的主题,使他们能够获得您的层次感(正或负)的响应理解力或个性。

根据不同的面试官,他们可能一直在寻找,看看你在编程以及圆润。我不知道你在申请什么职位。假设Selenium没有任何“魔术”方法来寻找所述元素,也许面试官想知道你是否可以编写或理解以编程方式解析web代码。

也许他们正在寻找您以编程方式量化元素为基于参数搜索找到它。

这两个概念,将显示编程基础面试官的理解而没有谈论具体的代码。