[英]Locating a text field element using xpath
所以我想使用 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']")
请试试这个:
element = driver.findElement(By.xpath("//input[(contains(@id,'login') or contains(@name,'login')) and contains(@type,'text')]";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.