【问题标题】:Selenium Click fails to click on elementsSelenium Click 无法点击元素
【发布时间】:2019-08-10 13:41:48
【问题描述】:

我们已更新到最新的 Selenium 版本 3.141.59,并发现点击不起作用。我没有收到指示单击失败并转到下一个函数或行的错误消息。我已经验证它不适用于 Chrome、Firefox 和 Edge。我们的代码是用 Java 编写的。

Chrome 驱动程序:73.0.3683.68 壁虎司机:0.24 微软网络驱动程序:6.17134

我尝试过但仍然失败的事情:

  1. 在点击元素之前添加等待时间
  2. 操作
  3. JavaScriptExecutor

任何帮助将不胜感激!

【问题讨论】:

  • 你能发布 html 或 url 吗?并提及要点击哪个元素?
  • 我不能给你 url 但我可以给你元素 html
    下一步
  • 我可以知道你在尝试 python 还是 java 的哪种语言?
  • 我正在用 Java 编码

标签: selenium selenium-webdriver selenium-chromedriver geckodriver


【解决方案1】:

根据您的div 元素,我可以通过以下Xpath 获取文本值。

WebDriverWait wait = new WebDriverWait(driver, 30);
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='portal-option-next-btn'][text()='Next']")));
System.out.println(element.getText());      
WebElement element1 = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='portal-option-next-btn' and @title='Click to proceed to next step!']")));
System.out.println(element1.getText());

请检查是否有可用的frame。如果有任何框架,则必须先切换到frame 才能访问该元素。

 driver.switchTo().frame("Frame-name");

【讨论】:

  • 不幸的是,我没有任何框架。我进行了搜索以确保页面上没有任何 iframe 并且我没有看到任何 iframe。但我会尝试看看它是否会抓取文本并让您知道结果是什么。
  • 我按照你的建议做了,我无法从元素中获取文本。
  • 不,我不是,我可以看到它在填写表格,但它没有点击下一步按钮。
  • 我真的很茫然,为什么不工作。如果你来聊天并分享我的网址,我可能会帮助你。
  • 是的,我也是,我无法与您分享网址,否则将违反公司政策。在这方面我束手无策。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多