【问题标题】:How to use Selenium to click element inside Java Applet如何使用 Selenium 单击 Java Applet 中的元素
【发布时间】:2016-11-11 13:13:13
【问题描述】:

我正在废弃一个使用 Java Applet 的网页。此小程序生成一个选择标记,我想单击其中一个选项。
Selenium 在我运行时确实找到了该元素:

doc_select = Select(self.driver.find_element_by_class_name('selectClass'))

如果我检查doc_select,我会得到:

<selenium.webdriver.support.select.Select instance at 0xb5a486ec>

我可以看到驱动程序已经找到了调试器中的所有选项。
但是,如果我尝试使用以下选项选择一个选项:

doc_select.select_by_value('9501')

它抛出了异常:

{ElementNotVisibleException}消息:元素当前不可见 因此可能无法与之交互 堆栈跟踪: 在 fxdriver.preconditions.visible (file:///tmp/tmpmxvBee/extensions/fxdriver@googlecode.com/components/command-processor.js:10092) 在 DelayedCommand.prototype.checkPreconditions_ (file:///tmp/tmpmxvBee/extensions/fxdriver@googlecode.com/components/command-processor.js:12644) 在 DelayedCommand.prototype.executeInternal_/h (file:///tmp/tmpmxvBee/extensions/fxdriver@googlecode.com/components/command-processor.js:12661) 在 DelayedCommand.prototype.executeInternal_ (file:///tmp/tmpmxvBee/extensions/fxdriver@googlecode.com/components/command-processor.js:12666) 在 DelayedCommand.prototype.execute/

有没有办法与Java Applet 生成的元素进行交互?如何使这些小程序元素对Selenium 可见? Selenium 有一些替代方案,我可以在其中自动化 Java Applets

【问题讨论】:

  • 异常说 selenium 找到了选择框,但由于可见性,它无法被选择...我认为这是一个 HTML 选择框...您应该尝试Webdriverwait 等到选择框可见...如果您有任何问题,请告诉我...
  • @SaurabhGaur 我试图等待可见性,但没有成功。我在使用 iframe 时遇到了类似的问题,错误是一样的,我只需要将 selenium 切换到 frame。但是在这种情况下,我不能让 selenium 专注于 Java 小程序
  • 你能分享你的网站网址吗??
  • @SaurabhGaur 我不能,因为它是一个司法系统网站,需要自定义证书才能登录,所以你将无法访问它

标签: python python-2.7 selenium web-scraping


【解决方案1】:

有没有办法与 Java Applet 生成的元素进行交互?

不... Selenium 无法与 Java 小程序交互。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-31
    • 1970-01-01
    • 2022-12-04
    • 1970-01-01
    • 1970-01-01
    • 2012-08-10
    相关资源
    最近更新 更多