当前位置: 首页 > 知识库问答 >
问题:

在chrome/firefox控制台中找到xpath,但selenium没有找到?

吉岳
2023-03-14

在chrome/Firefox控制台中找到xpath,但在selenium中找不到?有什么建议吗?

Java代码双向:

 List<WebElement> Elements = driver.findElements(By.xpath("/html/body/div[2]/div/div[1]/div[2]/div[2]/div[1]/div/div[3]/div[1]/div[4]/div[2]/textarea"));
new WebDriverWait(driver, 30).until(ExpectedConditions.elementToBeClickable(By.xpath("/html[1]/body[1]/div[2]/div[1]/div[1]/div[2]/div[2]/div[1]/div[1]/div[3]/div[1]/div[4]/div[2]/textarea[1]"))).sendKeys("testing");

以下是硒的作用:

线程“main”组织中出现异常。openqa。硒。TimeoutException:预期条件失败:等待元素可单击:按。xpath:/html1/body1/div2/div1/div1/div2/div2/div1/div3/div1/div[4]/div2/textarea1(以500毫秒的间隔尝试30秒)。openqa。硒。支持用户界面。WebDriverWait。组织上的timeoutException(WebDriverWait.java:82)。openqa。硒。支持用户界面。FluentWait。直到(FluentWait.java:231)收到消息。你好main(hello.java:148)由:org引起。openqa。硒。NoTouchElementException:无法使用找到元素。xpath:/html1/body1/div2/div1/div1/div2/div2/div1/div3/div1/div[4]/div2/textarea1有关此错误的文档,请访问:http://seleniumhq.org/exceptions/no_such_element.html生成信息:版本:'3.6。0',修订版:'6fbf3ec767',时间:'2017-09-27T16:15:26.402Z'系统信息:主机:'Davis MacBook Pro。本地”,ip:'2600:1010:b06c:96a7:d93d:6b6e:3c3d:3826%en0',操作系统。名称:'MacOSX',操作系统。拱门:“x86_64”,操作系统。版本:'10.14。2',爪哇。版本:'10.0。1'

想把一些文本放入文本区域。如果硒可以吗?

还要确认页面与iframe没有任何关系

共有3个答案

卫鸿朗
2023-03-14

如果需要使用元素列表,请尝试使用数组列表。

List<WebElement> Elements = driver.findElements(By.xpath("/html/body/div[2]/div/div[1]/div[2]/div[2]/div[1]/div/div[3]/div[1]/div[4]/div[2]/textarea"));

ArryaList <String> elementList = new ArryaList<>();
for (WebElement ele : Elements){
elementList.add(ele)
}

new WebDriverWait(driver, 30).until(ExpectedConditions.visibilityOf(elementList.get(0));
elementList.get(0).click();
鲜于意
2023-03-14

只需刷新页面:)

我也有同样的问题。绝对xpath是有效的,可以在Firefox的开发人员控制台以及Chrome上找到。然而,WebDriver只能在Chrome上找到这个元素,而在火狐上找不到。我尝试了许多方法,但都不奏效。最后,我决定使用WebDriver刷新页面,瞧,之后同样的代码开始在火狐中工作,并继续在Chrome工作。因此,只需在代码上方插入下面的行,即您试图使用绝对xpath定位元素的行。

driver.navigate().refresh();
赵永新
2023-03-14

尝试下面的XPath它应该可以工作。

driver.findElement(By.xpath("//textarea[@class='textarea']")).sendKeys("testing");

或者

driver.findElement(By.xpath("//textarea[@placeholder='inputthere~']")).sendKeys("testing");

以防出现错误。请检查是否有可用的iframe?如果可用,则必须首先切换到iframe。

driver.switchTo().frame("Frame-Name") 

希望这对你有帮助!

 类似资料:
  • 问题内容: 我有以下XPath: 当我在XPath Checker(Firefox扩展)中试用此XPath时,它一直都能完美运行。但是当我在Selenium中执行以下操作时: 它不断给我以下日志错误: 我为解决这个问题而疯狂。有人看到我的代码行有任何错误吗? 问题答案: 该查询字符串不应该像这样(根据javadoc api)吗?

  • 元素代码: 在屏幕上可以看到,输入xpath只有一个。 下面是代码,我在其中输入了相同的xpath,但得到如下错误: Selenium webdriver无法找到此xpath: 和这个(硒找不到)

  • 问题内容: 我正在使用这个小脚本来查找Firebug是否打开: 而且效果很好。现在,我正在搜索半小时,以找到一种方法来检测Google Chrome的内置Web开发人员控制台是否已打开,但找不到任何提示。 这个: 不起作用。 编辑: 因此,似乎无法检测到Chrome控制台是否处于打开状态。但是有一个“hack”有效,但有一些缺点: 控制台断开连接后将无法工作 在页面加载中打开控制台时将不起作用 因

  • 我试图用Python通过Selenium打开firefox控制台。如何使用python Selenium打开firefox控制台?有没有可能把钥匙发给司机或者类似的东西?

  • 我正在尝试使用python selenium脚本单击gmail主页右上角的“登录”标签。我使用firebug/firepath为这个类找到了正确的xpath,在使用浏览器工具时,它似乎工作得很好,但当脚本尝试使用xpath查找相同的元素时,它失败了。如果你能给我指出正确的方向,我将不胜感激。非常感谢。 Url:https://www.google.com/gmail/about/ 附言:我对硒比较

  • 我遇到了一些不能使用xpath定位的元素的问题,我正在寻找一些输入,如果有人可能知道问题是什么。这是我试图访问的元素。