首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在java脚本下面使用selenium webdriver控件单击文本框

如何在java脚本下面使用selenium webdriver控件单击文本框
EN

Stack Overflow用户
提问于 2013-11-20 09:58:30
回答 2查看 909关注 0票数 0

Que:如何在java脚本下面的selenium webdriver控件中单击文本框

需要在Java脚本中使用selenium webdriver控件,然后单击文本框,单击文本框"input id=“div_4_1_1_1_1_1- in,然后在其中输入值。

代码语言:javascript
复制
   <script type="text/javascript">
   <div id="mainBody" class="body main-content" aria-label="(N002A) No customer"  role="complementary" style="padding-top: 50px;">
   <div id="Tabs1" class="Tabs topLevel CoachView tab-content CoachView_show"  data-eventid="" data-viewid="Tabs1" data-config="config14" data-bindingtype="" data-binding="" data-type="com.ibm.bpm.coach.Snapshot_335ceb1a_da60_46fc_818c_04701f47d154.Tabs">
    <div id="Validation_Errors1" class="Validation_Errors topLevel CoachView CoachView_show" data-eventid="" data-viewid="Validation_Errors1" data-config="config24" data-bindingtype="ValidationError[]" data-binding="local.validationErrors[]" data-type="com.ibm.bpm.coach.Snapshot_4f1d8c7c_e32f_44e6_97c3_48661f7ae3b9.Validation_Errors"></div>
   <div id="Feedback1" class="Feedback topLevel CoachView CoachView_show" data-eventid="" data-viewid="Feedback1" data-config="config18" data-bindingtype="" data-binding="" data-type="com.ibm.bpm.coach.Snapshot_335ceb1a_da60_46fc_818c_04701f47d154.Feedback">
    <div id="Form_Scope1" class="Form_Scope topLevel CoachView CoachView_show" data-eventid="" data-viewid="Form_Scope1" data-config="config2" data-bindingtype="" data-binding="" data-type="com.ibm.bpm.coach.Snapshot_335ceb1a_da60_46fc_818c_04701f47d154.Form_Scope">
   <form>
    <div id="div_4_1" class="ContentBox" data-view-managed="false">
   <div id="div_4_1_1" class="Fieldset CoachView CoachView_show" data-eventid="" data-viewid="Fieldset1" data-config="config26" data-bindingtype="" data-binding="" data-type="com.ibm.bpm.coach.Snapshot_335ceb1a_da60_46fc_818c_04701f47d154.Fieldset">
   <fieldset>
   <div class="row-fluid">
    <div id="div_4_1_1_1" class="ContentBox" data-view-managed="false">
   <div id="div_4_1_1_1_1" class="span6 CoachView_show" data-eventid="" data-viewid="Fieldset_Column1" data-config="config28" data-bindingtype="" data-binding="" data-type="com.ibm.bpm.coach.Snapshot_335ceb1a_da60_46fc_818c_04701f47d154.Fieldset_Column">
 <div id="div_4_1_1_1_1_1" class="ContentBox" data-view-managed="false">
 <div id="div_4_1_1_1_1_1_1" class="ListSingle CoachView CoachView_show" data-eventid="" data-viewid="ListSingle1" data-config="config25" data-bindingtype="BpmCustomerSearchScope" data-binding="local.customerRegion" data-type="com.ibm.bpm.coach.Snapshot_335ceb1a_da60_46fc_818c_04701f47d154.ListSingle">
 <div id="div_4_1_1_1_1_1_2" class="String CoachView CoachView_show" data-eventid="" data-viewid="String1" data-config="config22" data-bindingtype="String" data-binding="local.customerSearchExpression"     data-type="com.ibm.bpm.coach.Snapshot_335ceb1a_da60_46fc_818c_04701f47d154.String">
 <div class="w-string w-group clearfix">
 <div class="p-label-container span4">
 <div class="p-fields-container span8">
 <input id="div_4_1_1_1_1_1_2-in" class="p-field span12" type="text">
 <div class="p-field" style="display: none;"></div>
 <div class="p-help-block"></div>
 </div>
 </div>
 </div>
 </div>
 </div>

注:我尝试了以下不同的方法来尝试。

代码语言:javascript
复制
  //driver.switchTo().frame(driver.findElement(By.tagName("iframe")));
// driver.switchTo().frame(driver.findElement(By.id("mainBody")));
   //driver.switchTo().frame(driver.findElement(By.cssSelector("iframe[title='Fill    Quote']")));
 // System.out.println("*****Frame handed*******");
 // driver.findElement(By.id("mainBody")).click();

 // Thread.sleep(30000);
//driver.switchTo().frame(0);

产出:产出:

启动InternetExplorerDriver服务器(32位) 2.37.0.0侦听端口10809 2013年11月20日2:39:37 PM InternetExplorerDriver tryExecute INFO: I/O异常(java.net.SocketException)在处理请求时捕获:软件导致连接中止: recv失败11月20日,2013年2:39:37 PM org.apache.http.impl.client.DefaultRequestDirector tryExecute INFO:为handing*** 重试请求body*** *关注主body***失败: testQTO02 org.openqa.selenium.NoSuchElementException:无法找到id == div_4_1_1_1_1_2-的元素(警告:服务器没有提供任何堆栈跟踪信息)

EN

回答 2

Stack Overflow用户

发布于 2013-11-20 10:42:45

检查<input id="div_4_1_1_1_1_1_2-in" class="p-field span12" type="text">是否在任何帧中。如有,请使用

代码语言:javascript
复制
driver.switchTo.frame("frameName"); 

使用前

代码语言:javascript
复制
driver.findElement(By.id("div_4_1_1_1_1_1_2-in")).sendKeys("input key");
票数 0
EN

Stack Overflow用户

发布于 2015-11-26 08:58:30

这可能与框架问题无关,但在教练中,id是自动生成的,以表示DOM中的位置,因此,如果添加或移动coach视图,则会发生更改。使用数据-viewid或标签可能更可靠。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20092662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档