
您好!很高兴为您答疑!
火狐用windowgetSelection()toString()可以获取到选中的文本,但是对文本框无效。
您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
在爬取网页的过程中,经常会遇到一些d窗的情况,有alert、confirm、prompt等三种,区别如下:
提示消息框 提供了一个文本字段,用户可以在此字段输入一个答案来响应您的提示。该消息框有一个“确定”按钮和一个“取消”按钮。如果您提供了一个辅助字符串参数,则提示消息框将在文本字段显示该辅助字符串作为默认响应。否则,默认文本为 "<undefined>"。
这三种d窗的共同点是,d出之后你是获取不到任何网页内容的,也就是无法通过常规的driverfind_element_by_xpath这种形式来获取元素。F12是没有任何内容,也无法点选的。
selenium另外有一套方法来把driver转换到d窗上:
其中driver就是你设置好的浏览器句柄,switch_toalert代表你当前的d窗类型,alert就对应alert,accept的意思就是点确定,另外还有dismiss等用法,网上很多了,不详细说。
用这个语句,就可以把d窗点掉,之后正常 *** 作,但是我重点想说的是以下内容:
在实际网页中,往往d窗会有一定延时,这时候你用这个语句就会报一个no such alert的错误,意味着获取不到d窗,此时要用如下的办法解决:
引用Webdriver类,里面的参数第一个是句柄,第二个则是超时等待时间,这里是10秒钟。
Webdriver这种方法叫做 显示等待 ,用一个默认频率不停的刷新(默认是05s),检测当前页面元素是否存在,如果超过10秒则抛出TimeOut。
很显然,这种方法比一般的sleep效率要高。
waituntil(ECalert_is_present())就是判断d窗是否存在,如果存在,那么就不会抛出异常,继续走下一步也就是获取到d窗点击确定。
之后就可以进行正常的 *** 作了。
alert中的值
alert本身就是由一个字符串表达式产生的,你把这个表达式赋给给一个变量和文本框都可以
alert('aa'+i+'bb');
s='aa'+i+'bb';
documentgetElementById('文本框ID')value='aa'+i+'bb';
html中获取标签的数据,可以通过js来获取,如下代码:
<script type="text/javascript" src="js/jqueryjs"></script>
<script type="text/javascript">
function validate(){
//一 .是通过jDOM
// var attitudeObj = documentgetElementById("attitude");
//var attitude = attitudeObjinnerHTML;
//二 .是通过jquery
var att = $("#attitude")text();//可以得到输入域中的内容
var idnum = $("#idnum")val();
var name = $("#name")val();
var t_name = $("#t_name")val() ;
var pro_name = $("#pro_name")val() ;
// alert(att);
if( name == null || name == "" ){
alert("请输入毕业设计名称!");
return false;
}
att = attreplace(/\s+/g,"");
if( att == null || att == ""){
alert("请输入选题须知!");
return false;
}
if( t_name == null || t_name == "" ){
alert("请选择教师!");
return false;
}
if( pro_name == null || pro_name == ""){
alert("请选择专业!");
return false;
}
location="teacher/mainfrajsp";
//location="teacherAction_AddGraduationTitleactionidnum=" + idnum +"&cname=" + cname +"&start=" + start+"&end=" + end;
return true;
}
</script>
</head>
<body">
<div >
<div style="margin-left: 100px;">
<!-- <form action="teacherAction_AddGraduationTitleaction" method="post" >-->
<span>自动编号:</span><input type="text" readonly="readonly" name="idnum" id="idnum" style="background: gray;" value="<s:property value="#requestmaxIdnum"/>"/><br/>
<br/>
<span>毕业设计名称:</span><input type="text" name="name" id="name"/><br/><br/>
<span>所属教师:</span><select name="t_name" id="t_name">
<option></option>
<s:iterator value="teacherList">
<option value="<s:property value='idnum' />"><s:property value="name" /></option>
</s:iterator>
</select> <br/> <br/>
<span>所属专业:</span><select name="pro_name" id="pro_name">
<option></option>
<s:iterator value="professionList">
<option value="<s:property value='idnum' />"><s:property value="pro_name" /></option>
</s:iterator>
</select>
<br/>
<br/>
<span>选题须知:</span>
<textarea id ="attitude" name="attitude" rows="3" cols="30" style="color: red;">
</textarea>
<br/>
<br/>
<input type="button" value="添加"> <input style="margin-left: 100px" type="reset" value="重置">
<!-- </form> -->
</div>
</div>
</body>
给文本域起个id="xxx"
然后获取内容一般来说var yyy = documentgetElmenetById("xxx")value;yyy就是你输入文本域的内容,如果用了Jquery那就更简单了 var yyy = $("#xxx")val();这样也行,而且jquery获取内容的方法更多,不止这一种
代码示例:
documentgetElementById("id")innerHTML //获取文本的内容;
documentgetElementById("id")value //获取文本框的内容;
function getValue(){
var input=documentgetElementById("myId");//通过id获取文本框对象
alert(inputvalue);//通过文本框对象获取value值
}
扩展资料:
JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。
是一种解释性脚本语言(代码不进行预编译)。 [4]
主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。 [4]
可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。 [4]
跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。
Javascript脚本语言同其他语言一样,有它自身的基本数据类型,表达式和算术运算符及程序的基本程序框架。Javascript提供了四种基本的数据类型和两种特殊数据类型用来处理数据和文字。而变量提供存放信息的地方,表达式则可以完成较复杂的信息处理
参考资料:
以上就是关于我自己开发的Firefox 扩展,用window.getSelection取当前选中的文本,alert出来,为什么是空字符串全部的内容,包括:我自己开发的Firefox 扩展,用window.getSelection取当前选中的文本,alert出来,为什么是空字符串、Selenium-针对alertd窗无法获取,d出no such alert的解决方法、js:请问怎么把alert中的值赋给text框比如一个数字或字符串等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)