草庐IT

【selenium】下拉滚动条

全部标签

javascript - 如何抓取无限滚动页面?

我正在尝试构建可以从具有无限滚动的页面中抓取内容的东西。但是,我无法从第一个“中断”下方获取内容。我该怎么做? 最佳答案 无限滚动几乎总是通过使用AJAX或相关技术在JavaScript中完成的。因此,您的网络爬虫获取HTML并解析它是不够的;它必须下载并执行javascript,或者至少扫描它以查找AJAX调用。执行完整的javascript可能是最好的(即最能保证工作),但也可能是最难做到的。扫描AJAX请求的javascript和/或寻找执行AJAX调用的函数然后进行DOM操作可能是最简单的(相对于完整的JS执行)

javascript - 使用 AngularJS 在滚动条上隐藏一个 div

我是AngularJS的新手。当用户在div“B”上滚动时,我想在AngularJS中隐藏div“A”。目前,当用户使用ng-click单击div“B”时,我可以隐藏div“A”,但我找不到任何方法来使用AngularJS滚动。我知道,我可以使用JQuery来隐藏div,但是有什么方法可以使用AngularJS来实现吗?更新:我创建了一个滚动指令并附加了$window。现在,如果我滚动整个窗口,div将被隐藏,但我想在滚动特定的div时隐藏它。我当前的实现如下所示:app.directive("scroll",function($window){returnfunction(scope

javascript - 除非页面移动,否则不会触发滚动事件

我希望在从$(window).scrollTop==0“向上”滚动时触发一个事件。如果你有如下代码:$(window).scroll(function(){console.log("scrolling")});在文档$(window).scrollTop没有改变,但这并不意味着没有鼠标滚动输入。无论页面是否移动,我都希望在鼠标滚动时触发一个事件。 最佳答案 看起来像你要找的东西:http://jsfiddle.net/n8eVQ/$(document).on('mousewheelDOMMouseScrollMozMousePixe

javascript - Selenium (Python): How to insert value on a hidden input?

我正在使用Selenium的WebDriver并使用Python进行编码。有一个隐藏的输入字段,我试图在其中插入一个特定的日期值。该字段最初会生成一个日历,用户可以从中选择合适的日期,但这似乎比直接插入合适的日期值更复杂。页面的源代码如下所示:其中value="2013-11-26"是我试图注入(inject)一个值的字段(它最初是空的,即:value=""。我知道WebDriver无法将值插入隐藏输入,因为普通用户无法在浏览器中执行此操作,但解决方法是使用Javascript。不幸的是,这是一种我不熟悉的语言。有人知道什么会起作用吗? 最佳答案

javascript - 滚动时多次触发停止功能

当用户滚动到底部时,以下代码加载下一页。然而,有时它会自己重复——当用户滚动得太快,或者在AJAX仍在加载时滚动。有没有办法防止它多次触发?因此,例如,在调用AJAX时无法加载任何内容,或者AJAX只能每秒调用一次?任何帮助都会很棒。$(window).scroll(function(){if($(window).scrollTop()+$(window).height()==$(document).height()){if(firstURL!==null){$.get(firstURL,function(html){//thisgetscalledmultipletimesonerr

javascript - Selenium 网络驱动程序 : execute_script can't execute custom methods and external javascript files

我正在使用Selenium和Python,我正在尝试做两件事:导入外部javascript文件并执行其中定义的方法在字符串上定义方法并在求值后调用它们这是第一种情况的输出:测试.jsfunctionhello(){document.body.innerHTML="testing";}Python代码>>>fromseleniumimportwebdriver>>>f=webdriver.Firefox()>>>f.execute_script("vars=document.createElement('script');\...s.src='file://C:/test.js';\..

javascript - 无法将 .focus() 赋予下拉菜单的元素

这是一个Boostrap导航栏,包含一个dropdown菜单,包含一个.当我点击下拉菜单时,它显示成功。的值成功改成Bonjour但是这个没有得到焦点。为什么?http://jsfiddle.net/rzsmdg4f/1/如何使用.focus()将焦点放在下拉菜单中包含的输入上?代码:DropdownLink:JS:{varmaa=document.getElementById('maa');console.log(maa);maa.addEventListener('click',function(){console.log($('#ha'));$('#ha').val('Bonjo

javascript - 如何使用 Selenium webdriver 测试对 SVG 对象的点击?

我正在尝试编写代码来检查单击SVG对象的功能-例如此URL上的美国州http://www.amcharts.com/svg-maps/?map=usa这行得通,但是有更好的方法吗?没有物理移动鼠标的东西?robert=newRobot();robert.mouseMove(x,y);//fullclickoncetogetfocusonthewindowrobert.mousePress(MouseEvent.BUTTON1_MASK);robert.mouseRelease(MouseEvent.BUTTON1_MASK);//thensetthefilterrobert.mouse

javascript - Internet Explorer 跳动滚动

我有这段代码可以将标题元素保持在另一个滚动元素的顶部。它在Firefox和GoogleChrome中完美运行,但在IE中却非常不稳定。代码本身非常简单,我想不出如何改进它。在Chrome和Firefox中,标题一直固定在顶部,但在IE中,它像捕获糖袋的child一样跳来跳去。我无法更改HTML布局,因为我正在使用JQueryUIsortable功能无论如何,这是代码:http://jsfiddle.net/0va4dn0q/8/$('.container').scroll(function(){varfromTop=$(this).scrollTop(),Header=$(this).

javascript - 如果 Angular 正在做......从 Selenium 中检测东西

为什么driver.findElement(statictext).getText()曾经返回“”吗?我有一个Angular应用程序,我正在osx上通过java通过chromedriver使用selenium进行测试。我有一些标记如下:statictext我经常得到:assert(driver.findElement(By.id("my-unique-id").getText().contains("statictext");产量:java.lang.AssertionError:Nottruethatcontains喜欢,30%的时间。我不明白该元素的.getText()如何计算为“