我不知道为什么在使用By.Chained时会得到某个元素。
我有以下HTML:
当我使用定位器时
By.XPath("//*[text()='End date']/..//input[@type='text']")
但是,当我使用定位器
By.Chained([By.XPath: //*[text()='End date']/..,By.XPath: //input[@type='text']])
我得到第一个输入框:
为什么会这样?
答案 0 :(得分:1)
您的第二个表达式(都以/
开头)是absolute location path。如果此By.Chained
将第一个表达式的每个结果作为第二个表达式的上下文,您将需要一个相对表达式,例如:
.//input[@type='text']
或更清晰的一个:
descendant::input[@type='text']