Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用xpath定位文本字段元素_Java_Selenium_Selenium Webdriver - Fatal编程技术网

Java 使用xpath定位文本字段元素

Java 使用xpath定位文本字段元素,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,所以我想使用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

所以我想使用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']"));
它不起作用,我搜索了一个解决方案,但我发现几乎没有关于使用OR&和xpath的信息


谢谢大家!

我猜最后一个@type上有一个拼写错误-它应该是@type=,并且在相同的@type条件下缺少一个
。 下面是我已经测试过的正确代码

element = driver.findElement(By.xpath("//input[((@id=\"login\") or (@name = \"login\")) and (@type=\"text\")]"));

我猜最后一个@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[(@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')]";
请试试这个:

element = driver.findElement(By.xpath("//input[(contains(@id,'login') or contains(@name,'login')) and contains(@type,'text')]";

谢谢你注意到这一点,我只是想确保在编辑问题时输入错误,在我的代码中,我有“@type=”。谢谢你注意到,我只是想确保在编辑问题时输入错误,在我的代码中,我有“@type=”。我想我只需要知道如何锁定括号哈哈,谢谢!我想我只是需要知道如何锁定括号哈哈,谢谢!