是否可以通过以下方式访问代码中的输入:
(...)
<div class="dialogProp">
<div class="gwt-Label">Name</div>
<div class="floatLeft">
<div>
<input type="text" class="textBox">
</div>
<div class="notVisible"></div>
</div>
<div class="dialogProp">
<div class="gwt-Label">Surname</div>
<div class="floatLeft">
<div>
<input type="text" class="textBox">
</div>
<div class="notVisible"></div>
</div>
(...)
如您所见,我得到了两个输入,它们之间唯一的区别是div内的标签内有不同的文本。这种模式可以在网站的各处找到,我无法更改。我也无法添加ID。 您知道是否有可能在div的内部将这种不同的文本添加到xPath中吗?
假设我要访问第一个输入。
我当然可以使用一些长于屁股的xPath,但我想将其与gwt-Label内的文本作为变量重复使用。
答案 0 :(得分:2)
在下面使用以下标签文字查找input
:
//div[@class="gwt-Label" and .="Name"]/following-sibling::div//input
在Python中,您可以通过变量传递标签:
label = "Name"
xpath = '//div[@class="gwt-Label" and .="%s"]/following-sibling::div//input' % label
答案 1 :(得分:1)
要访问有关标签文本的输入,可以使用以下解决方案:
labelText = "Name"
#or labelText = "Surname"
xpath = "//div[@class='gwt-Label' and contains(.,'" +labelText+ "')]//following::div[1]//input"