我正在Chrome中运行一个任务,在C#中使用Selenium。在整个任务中,第一个/主选项卡保持打开状态。然后我打开一个新选项卡。做一些事情。然后关闭该选项卡。每次执行任务时,这可能会重复 15-20 次。
我尝试了几个选项来打开一个新选项卡,包括 SendKeys 和此处找到的其他"解决方案",但将以下 JavaScript 注入 Web 驱动程序是唯一真正适合我的选项。
var d=document,a=d.createElement('a');a.target='_blank';a.href='';a.innerHTML='.';d.body.appendChild(a);return a;
问题是,每次我打开一个新选项卡时,第一个/主选项卡都会滚动到底部,然后打开新选项卡。第一个/主选项卡中的网页每次滚动到底部时都会加载更多内容。由于与问题无关的几个原因,这是有问题的。
我的问题是,为什么这个JS代码滚动到第一个/主选项卡的底部,我该如何停止它?
使用 javascript 直接点击 'a' 标签,不要返回 .
var d=document,a=d.createElement('a');a.target='_blank';a.href='';a.innerHTML='.';d.body.appendChild(a);a.click();
IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
js.ExecuteScript("var d=document,a=d.createElement('a');a.target='_blank';a.href='';a.innerHTML='.';d.body.appendChild(a);a.click();");