使用Javascript

时间:2019-08-07 02:32:52

标签: javascript selenium selenium-chromedriver

我正在使用C#中的Selenium在Chrome中运行任务。在此任务中,第一个/主选项卡保持打开状态。然后,我打开一个新标签。做些事。然后关闭该选项卡。每次执行任务可能会重复15-20次。

我尝试了几种方法来打开一个新标签,包括SendKeys和此处找到的其他“解决方案”,但是将下面的JavaScript注入webdriver是唯一对我有效的方法。

var d=document,a=d.createElement('a');a.target='_blank';a.href='';a.innerHTML='.';d.body.appendChild(a);return a;

问题是,每次我打开新标签页时,第一个/主标签页滚动到底部,然后打开新标签页。每次滚动到底部时,第一个/主选项卡中的网页会加载更多内容。由于与该问题无关的几个原因,这是有问题的。

我的问题是,为什么此JS代码滚动到第一个/主选项卡的底部,如何停止它?

1 个答案:

答案 0 :(得分:0)

使用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();");