Java Selenium Firefox 驱动程序 - 文本框 Onchange 问题

标签 java linux firefox selenium driver

在 centos 上使用 Firefox 驱动程序运行 Java/Selenium 2.3(和 4)

尝试针对具有文本类型表单和 onchange 的网站进行测试。尝试使用发送键插入文本,然后通过选择/单击表单中的另一个术语来更改焦点。也尝试做一个火灾事件。 (2.3 sel 中似乎不支持)

在网上也搜索过,但没有运气。

基本上,试图找到一个解决方案,如何插入到 selenium/firefox 驱动程序的文本框中,以便插入的文本实际上出现在文本区域中,这意味着 onchange 事件被触发。

测试 html 是::

<td rowspan='4' nowrap='nowrap'  valign='top' align='left'>
<DIV id='win0divCLASS_SRCH_WRK2_SUBJECT$69$'><input type='text' name='CLASS_SRCH_WRK2_SUBJECT$69$' id='CLASS_SRCH_WRK2_SUBJECT$69$' tabindex='31' value=""  class='PSEDITBOX' style='width:60px; ' maxlength='8' onchange="addchg_win0(this);oChange_win0=this;"  />
</DIV></td>

测试代码为::

        driver.findElement(By.name("CLASS_SRCH_WRK2_SUBJECT$69$"))
            .sendKeys("ACG");
        driver.findElement(By.name("CLASS_SRCH_WRK2_SUBJECT$69$"))
            .sendKeys("");


        Select sCourse= new Select(driver.findElement(By.id("CLASS_SRCH_WRK2_ACAD_CAREER")));
        sCourse.selectByValue("");

测试设置文本元素,然后设置选择项的选择/选项,这应该触发焦点的变化。我还尝试清除并重置文本,认为这可能会触发 onchange..

这个问题的解决方案可以帮助很多一直在寻找同样东西的人!!

谢谢

最佳答案

您是否尝试过在 sendKeys 之后执行 Tab 操作? 你可以做一个 driver.findElement(By.name("CLASS_SRCH_WRK2_SUBJECT$69$")) .sendKeys("\t");

关于Java Selenium Firefox 驱动程序 - 文本框 Onchange 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7139375/

相关文章:

html - firefox 打印多页 rowspan

javascript - Firefox 缺少 window.event 的解决方法?

java - 用于 Composite 的所有控件的 FocusListener

java - 在 SQLite android 中创建数据库并将值插入到表中

java - 在JMH @Setup 中初始化FileInputStream 并在@Benchmark 中使用

linux - 如何模拟ARM未对齐的内存访问异常?

css - Firefox 中滚动元素中的文本始终为省略号

java - LibGDX:实现触摸屏,无需触摸屏幕

c++ - 为什么我的 C++ 数组打印相同的值?

java - 在 Linux 上从 Java 使用 Matlab parpool 时出错