建站之星网站,免费空间申请哪个好,网站主页调用,微信引流推广怎么做有时候我们需要控制页面滚动条上的滚动条#xff0c;但滚动条并非页面上的元素#xff0c;这个时候就需要借助js是来进行操作。一般用到操作滚动条的会两个场景#xff1a; 注册时的法律条文需要阅读#xff0c;判断用户是否阅读的标准是#xff1a;滚动条是否拉到最下方。…有时候我们需要控制页面滚动条上的滚动条但滚动条并非页面上的元素这个时候就需要借助js是来进行操作。一般用到操作滚动条的会两个场景 注册时的法律条文需要阅读判断用户是否阅读的标准是滚动条是否拉到最下方。 要操作的页面元素不在吸视范围无法进行操作需要拖动滚动条 其实实现这个功能只要一行代码但由于不懂js 所以花了不小力气找到这种方法。 用于标识滚动条位置的代码 body οnlοad document.body.scrollTop0 body οnlοad document.body.scrollTop100000 如果滚动条在最上方的话scrollTop0 那么要想使用滚动条在最可下方可以scrollTop100000 这样就可以使滚动条在最下方。 场景一 先来解决场第一个问题法律条款是一个内嵌窗口通过firebug工具可以定位到内嵌入窗口可以定位到元素的id 可以通过下面的代码实现。 jsvar qdocument.getElementById(id).scrollTop10000 driver.execute_script(js) 注由于法律条款的文字必须被阅读并接受才能进行下一步 所以必须先将滚动条滑到底部然后“接受”按钮才可用 点击接受以后“下一步”按钮才可用。 场景二 有滚动条的页面到处可见这个就比较容易找例子我们以操作百度搜索结果页为例 #codingutf-8
from selenium import webdriver
import time#访问百度
driverwebdriver.Firefox()
driver.get(http://www.baidu.com)#搜索
driver.find_element_by_id(kw).send_keys(selenium)
driver.find_element_by_id(su).click()
time.sleep(3)#将页面滚动条拖到底部
jsvar qdocument.documentElement.scrollTop10000
driver.execute_script(js)
time.sleep(3)#将滚动条移动到页面的顶部
jsvar qdocument.documentElement.scrollTop0
driver.execute_script(js)
time.sleep(3)driver.quit() 转自 http://tech.ddvip.com/2013-10/1383059700204981.html 以下是我自己的代码 C# IE: using Se OpenQA.Selenium;
using SIE OpenQA.Selenium.IE;//
SIE.InternetExplorerOptions _IEOptions null;
SIE.InternetExplorerDriver _IEDriver null;// init Internet driverprivate void InitIE(){_IEOptions new SIE.InternetExplorerOptions();_IEOptions.IntroduceInstabilityByIgnoringProtectedModeSettings true;_IEOptions.UnexpectedAlertBehavior SIE.InternetExplorerUnexpectedAlertBehavior.Default;_IEOptions.ElementScrollBehavior SIE.InternetExplorerElementScrollBehavior.Bottom;_IEDriver new SIE.InternetExplorerDriver(_IEOptions);}private void Scroll Bar()
{IListSe.IWebElement frames _IEDriver.FindElements(Se.By.TagName(frame));Se.IWebElement frameDisplay null;Se.IWebElement frameControlPanel null;foreach (var frame in frames){if (frame.GetAttribute(name) ElementDisplayFrame){frameDisplay frame;}else if (frame.GetAttribute(name) ControlPanelFrame){frameControlPanel frame;}}if (frameDisplay ! null){_IEDriver.SwitchTo().Frame(frameDisplay);// scroll to bottomSe.IWebElement ndaContainer _IEDriver.FindElement(Se.By.Id(ndacontainer));string id ndaContainer.GetAttribute(id);var js var q document.getElementById( id ).scrollTop10000;_IEDriver.ExecuteScript(js, null);ElementHP.Wait(_IEDriver);Se.IWebElement yesButton _IEDriver.FindElement(Se.By.XPath(//input[nameI1]));if (yesButton ! null yesButton.Enabled){yesButton.Click();}}
} 转载于:https://www.cnblogs.com/qixue/p/3927325.html