Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.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
Javascript Selenium Web驱动程序元素不可见异常_Javascript_Xpath_Selenium_Webdriver - Fatal编程技术网

Javascript Selenium Web驱动程序元素不可见异常

Javascript Selenium Web驱动程序元素不可见异常,javascript,xpath,selenium,webdriver,Javascript,Xpath,Selenium,Webdriver,我的元素看起来像: /html/body/div/div[3]/form/table/tbody/tr/td/**div[2**]/table[2]/tbody/tr[2]/td[2]/input <input type="password" name="0.2.1.3.3.6.5.1.2.1.1" maxlength="9"> 我在WebDriver中使用Javascript尝试了XPath和CSS选择器,但是我找不到这个元素 粗体的div[2]标记之间有一个script标

我的元素看起来像:

/html/body/div/div[3]/form/table/tbody/tr/td/**div[2**]/table[2]/tbody/tr[2]/td[2]/input

 <input type="password" name="0.2.1.3.3.6.5.1.2.1.1" maxlength="9">

我在WebDriver中使用Javascript尝试了XPath和CSS选择器,但是我找不到这个元素

粗体的div[2]标记之间有一个script标记,是否可能导致问题


请帮忙

您的标题表示您收到了一个元素不可见异常……要么选择器错误(如中所示,您选择的是一个在页面上不可见的类似元素),要么您需要等待它在页面上可见

new WebDriverWait(driver, 10).until(ExpectedConditions.visibilityOf(element))

我认为CSS选择器
CSS=input[type='password'][maxlength='9']
可以使用。请让我知道此CSS选择器是否工作。

我不相信是脚本标记导致的。您尝试过哪些选择器,是否得到ElementNotFoundExceptions?我也尝试过xpath、css选择器和javascript。我必须在这个特定的字段中键入一个文本。我使用了JavascriptExecutor jse=(JavascriptExecutor)驱动程序;jse.executeScript(“document.getElementsByName('0.2.1.3.3.6.5.1.2.1.1')[0]。setAttribute('type','33344555');”);。。。。这次测试通过了,但是没有在字段中键入文本。我们需要一些基本的HTML来重现这个问题。请张贴您正在使用的确切代码,以及您得到的确切完整错误。请同时发布您的版本和浏览器版本。最后,请确保没有iFrame。代码之前我使用的是xpath、css选择器和ByName选择器,但是每次我获得元素不可见异常,现在我使用的是WebElement element3=driver.findelelement(By.xpath(//input[@name='0.2.1.3.3.6.5.1.2.1']);((JavascriptExecutor)driver).executeScript(“参数[0]。单击();”,元素3);测试通过了。但是,我不知道如何在该字段中键入文本。我认为setAttribute可以在这里使用,但我不知道如何使用它。还有一种方法可以使用sendKeys在这个字段中键入文本吗?我之前得到这个方法,但是当我使用WebElement element3=driver.findElement(By.xpath(//input[@name='0.2.1.3.3.6.5.1.2.1'])时;((JavascriptExecutor)driver).executeScript(“参数[0]。单击();”,元素3);测试通过了…现在我必须在此字段中键入一些文本,我不确定如何使用setAttribute方法或SendKeys执行
参数[0]的脚本。键入(“”)此操作失败。失败跟踪…参数[0]。键入(“”);不是函数…它需要在JavascriptExecutor中。。。。您应该查找JavascriptExcecutor,并了解该代码在做什么。WebElement element3=driver.findElement(By.xpath(//input[@name='0.2.1.3.3.6.5.1.2.1']);((JavascriptExecutor)driver).executeScript(“参数[0]。类型('33344555');”,元素3);这件东西坏了