用鼠标移动刮擦dom元素

时间:2017-01-17 19:27:08

标签: ruby selenium web-scraping

我正在努力抓http://ventusky.com/。当鼠标移动时,它会在鼠标指针附近显示一些数据。我正在使用selenium。当我查看浏览器控制台时,我可以看到mousemove事件监听器正在添加此数据。我的代码。

test = driver.find_element(:id,"h")
driver.action.move_to(test, 100, 100).perform
elem=wait.until{driver.find_element(:class,"yy")}
puts elem.attribute "outerHTML"

但是我没有从元素elem获得任何数据。它的text是空的。当脚本运行时,我也没有看到浏览器上发生任何事情。有人可以帮我解决这个问题。我很擅长报废。

我正在使用ruby,即使它无关紧要。我可以找到红宝石的等价物。

1 个答案:

答案 0 :(得分:0)

你在移动命令之前错过了一个睡眠。此页面需要一段时间才能加载,因此您可以添加finished_loading_elem=wait.until{driver.find_element(:id,"z")}或添加隐式等待,例如Thread.Sleep等其他语言。

另外,我建议移动到250,250,因为100,100可能落在搜索栏上。