JS不能把浏览器滚动条往下拉的情况下可以用sendkeys代替

上一篇 / 下一篇  2013-11-12 19:09:20

这段code,能把浏览器的javascript:;" onClick="javascript:tagshow(event, '%B9%F6%B6%AF%CC%F5');" target="_self">滚动条往下拉:(访问的是普通网站)
 
public class Class1
    {
        public IWebDriver driver;
        [TestFixtureSetUp]
        public void TestFixtureSetup()
        {
            //driver = new InternetExplorerDriver(@"D:\Work\Software");
            driver = new InternetExplorerDriver(@"c:\AUTO");
            driver.Navigate().GoToUrl("http://www.19lou.com/");
        }
        [TestFixtureTearDown]
        public void TestFixtureTeardown()
        { }
        [SetUp]
        public void setup()
        { }
        [Test]
        public void baidu()
        {
            Thread.Sleep(10000);
            string setscroll = "document.documentElement.scrollTop=10000";
            IJavaScriptExecutor jse = (IJavaScriptExecutor)driver;
            jse.ExecuteScript(setscroll);
 
        }
    }
 
但是同样的JS: (访问的是SharePoint
string setscroll = "document.documentElement.scrollTop=10000";
却不能把sharepoint 创建site的网页往下拉。
我怀疑是因为访问这个网页的时候,光标默认选中了一个输入框导致。于是手工访问这个网页,直接点击PgDn键,网页没有往下走。
于是我又试了选中一个不是输入框的element,再执行这个JS,还是不行。
又换了直接执行一个JS,是提交表单的,估计JS不对,也是失败的。
又换了直接点击PgDn键,还是不行(估计是脚本不对)
最后看到51testing上一个帖子,说是直接给被盖起来的element sendkeys。于是我改成:
driver.FindElement(By.Id(CreateButton)).SendKeys("\n");
成功了!!!!
如果早点看到这个帖子就好了。人家是2月份发的帖子,我之前就怎么没找到呢?试了各种情况。
甚至QQ群里的网友都帮我试了代码,他们都成功的。后来发现IE的版本不太一样,我的update versions是9.0.17,他的是9.0.20.于是我又折腾了一番,把它更新成9.0.21,还是解决不了。现在算是暂时找到了解决方法,但是我还是想找个机会要用JS来实现。下回再续了。
 

TAG: JavaScript javascript sendkeys SendKeys Sendkeys sharepoint 滚动条 Javascript

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-18  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 52766
  • 日志数: 17
  • 建立时间: 2009-06-29
  • 更新时间: 2015-04-24

RSS订阅

Open Toolbar