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);这件东西坏了