JavaScript程序化地将鼠标悬停在元素上
JavaScript programatically hover mouse over element
我正在编写一个vb.net程序来自动化和管理在线游戏。我正在使用Awesomium网络控件来显示和操作游戏页面。
有一点是,我需要抓取源中没有显示的数据,直到用户悬停在某个元素上,我如何使用javascript(请不要使用jquery)以编程方式悬停在它上面,直到我需要的数据可用,然后抓取?
如果以前有人问过这个问题,我很抱歉(确实如此,但从网页所有者的角度来看),但我已经搜索了几个小时的解决方案,但什么都找不到。
我尝试使用但失败的是:
function findBpDate(){
document.getElementById('tileDetails').children[1].children[0].children[1].children[0].fireEvent('onmouseover');
return document.getElementsByClassName('text elementText')[0].textContent;
}
当它调用回我的应用程序时,它会返回"未定义",不过我确信我指向的是正确的DOM元素。
这就是我希望javascript"悬停"在上面的内容:
<span class="a arrow disabled">Send troops</span>
一旦这个元素被"悬停"在上面,这个元素的文本就会变成我需要抓取的文本:
<div class="text elementText">Beginners protection until 20/07/13 07:51 am.</div>
我已经在上面展示了当鼠标"悬停"在我需要的元素上时,元素的样子,但这会发生很大变化,这取决于用户在玩游戏时悬停在哪个元素上,根据我的了解,它是源为游戏中的每个工具提示保存文本的地方。
因此,我需要一个将鼠标悬停在某个元素上的函数,然后在它悬停的时候,从工具提示text/"textelementText"元素中获取文本。
尝试WebView.InjectMouseMove(x,y)。
类似的东西
public Point GetElementPosition(dynamic element)
{
dynamic rect = element.getBoundingClientRect();
using (rect)
{
return new Point(rect.left, rect.top);
}
}
dynamic element = webView.ExecuteJavascriptWithResult("document.getElementById('id')");
Point pos = GetElementPosition(element);
webView.InjectMouseMove(pos.X, pos.Y);
使用js/dom,这会简单10倍。http://jsfiddle.net/pA2Vd/
这样做假设您可以通过byId以某种方式获得对元素的引用会容易得多
var elm = document.getElementsByClassName('a arrow disabled')[0];
var txt = document.getElementsByClassName('text elementText')[0];
var evt = new Event('mouseover');
elm.dispatchEvent(evt);
var status = txt.innerText;
(helpfuL stuff down)否则您需要捕获事件,检测是谁触发了它,检查它是否有这个类和标记名。大量加工。
var txt,spn,status='';
document.getElementByTagName('span').forEach(function(d){
if (d.tagName=="div" && d.className == 'text elementText'){
var txt = d;
}
}
window.onmouseover = function(e) {
var elm = e.target;
if (elm.tagName=="SPAN" && elm.className == 'a arrow disabled') {
status=txt.innerText;
}
}
相关文章:
- 在元素悬停上显示带有javascript的弹出式网站
- 防止子元素悬停破坏父元素悬停
- jquery集合元素悬停
- 父元素悬停/活动/聚焦时隐藏元素
- 显示隐藏的容器元素 - 悬停仅在我单击容器后有效
- JQUERY可排序插件,当可拖动元素悬停在指定的元素上时启动函数
- Jquery 阻止堆叠元素悬停
- 在其他元素悬停时开始/暂停 HTML5 视频
- 在元素悬停时闪烁,同时尝试在同一事件上缩小其大小
- 如何使 li 元素悬停在动态
- "text长度"Internet Explorer中svg文本元素悬停时的更改
- 元素悬停时的暂停功能
- 将变量传递给Google Maps事件对象.(谷歌地图多边形,外部元素悬停)
- 更改多个图像/元素悬停在覆盖的图像HTML
- 如何在元素悬停时动态改变文本
- 当一个元素悬停在另一个元素上时高亮显示
- 显示/隐藏多个元素悬停与JQuery和HTML
- 如何使用jquery将显示为none的元素悬停
- jQuery, JavaScript,工作与3元素悬停
- 在元素悬停时触发javascript