使用centos上的Firefox驱动程序运行Java / Selenium 2.3(和4)
尝试针对具有文本类型的表单的网站进行测试,并使用onchange。尝试使用sendkeys插入文本,然后通过选择/单击表单中的另一个术语来更改焦点。试图做一个事情。 (似乎在2.3 sel中不支持)
搜索网也没有运气。
基本上,尝试获取如何插入selenium / firefox驱动程序的文本框的解决方案,因此插入的文本实际上出现在textarea中,这意味着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("");
测试设置textelement,然后设置select项的select /选项,这将触发焦点的更改。我还试图清除并重置文本,认为这可能会触发onchange ..
解决这个问题可以帮助很多一直在寻找同样事情的人!
由于
答案 0 :(得分:0)
您是否尝试过sendKeys之后的标签? 你可以做一个 driver.findElement(By.name( “CLASS_SRCH_WRK2_SUBJECT $ $ 69”)) .sendKeys( “\ t” 的);
答案 1 :(得分:0)
我遇到了类似的问题(尽管我的触发器是onBlur)。我直接调用了blur()方法。在你的情况下,它将是
driver.findElement(By.name("CLASS_SRCH_WRK2_SUBJECT$69$")).sendKeys("ACG");
((JavascriptExecutor)driver).executeScript( "$('[name=\"CLASS_SRCH_WRK2_SUBJECT$69$\"]' ).blur() );
您可能需要除blur()以外的其他功能。