【问题标题】:JAVA - Hidden Class SeleniumJAVA - 隐藏类 Selenium
【发布时间】:2020-06-30 20:37:56
【问题描述】:

我是 selenium 的初学者,我想按文件提交字段。 我已经完成了连接页面,点击按钮等的完整代码(一切正常,我的驱动程序很好)

但是无法点击添加文件 我在互联网上查看了如何操作,我添加了时间,尝试浏览框架,使用 javascript 作为隐藏类...我尝试了该字段中的所有按钮,但它没有检测到它们。

Add File

Source code

Thread.sleep(2000);
JavascriptExecutor js = (JavascriptExecutor) driver; 
js.executeScript("window.scrollBy(0,1000)");
WebDriverWait wait = new WebDriverWait(driver, 60);// 1 minute 
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*@id=\"yui_3_17_2_1_1584634673387_348\"]/div[1]/div[1]/a")));`


org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="yui_3_17_2_1_1584634673387_348"]/div[1]/div[1]/a"}

你有什么想法吗?

【问题讨论】:

  • 欢迎来到 StackOverflow!更喜欢将图像直接粘贴到问题中。将来可能会断开链接。
  • 很可能为什么有人会从图像中编写代码让您重现问题。将其添加为代码。还请阅读minimal reproducible example,并在您的问题中始终遵循这一点,以获得最大的好答案

标签: java selenium hidden


【解决方案1】:

我在查看代码时发现的主要问题是显式条件元素检查行中的定位器不正确。可以用下面的代码替换:

wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id='yui_3_17_2_1_1584634673387_348']/div[1]/div[1]/a")));

基本 XPath 语法供参考,尽管它有其变体:

//tagname[@attrbute='value']

其他建议 虽然我不确定您正在自动化的应用程序,但 ID 可能会更改。根据您在上面的链接中提供的 DOM 结构,我会说将定位器更改为以下内容:

 wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//a[@role='button'][@title='Add..']")));

【讨论】:

    猜你喜欢
    • 2014-10-19
    • 2014-06-27
    • 1970-01-01
    • 1970-01-01
    • 2016-07-09
    • 2017-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多