所以我想使用xpath来定位文本字段元素,我的代码以前看起来像这样,并且有效:
element = driver.findElement(By.xpath("//input[(@id="\login"\) or (@name = "\login"\)]"));
但是我想确保驱动程序选择了一个文本字段,所以我将其更改为:
element = driver.findElement(By.xpath("//input[((@id="\login"\) or (@name = "\login"\)) and (@type="\text"\]"));
它没有用,我搜索了一个解决方案,但是我发现在xpath上同时使用OR和AND的信息很少或没有。
谢谢!
我猜最后一个@type上有一个错别字-它应该是@ type =,并且在相同的@type条件下也缺少)
。下面是我测试过的更正的代码。
element = driver.findElement(By.xpath("//input[((@id=\"login\") or (@name = \"login\")) and (@type=\"text\")]"));
以下为我工作:
element = driver.findElement(By.xpath("//input[(@id='login' or @name='login') and @type='text']")