使用JavascriptExecutor来sendKeys + click on web元素
Using JavascriptExecutor to sendKeys plus click on web element
我试图在一个新的选项卡中打开一个链接,然后切换到该选项卡,在Firefox浏览器中,使用Java中的selenium。这是我的理解,为了做到这一点,我需要使用一个发送键组合。
为了在同一窗口中打开链接,我一直在使用这样的东西:
WebElement we = driver.findElement(By.xpath("//*[@id='btn']"));
JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("arguments[0].click();", we);
以上对我来说工作得很好。
现在我试着也sendKeys,如下所示,这是不工作:
JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("keyDown(Keys.CONTROL)
.keyDown(Keys.SHIFT)
.click(arguments[0])
.keyUp(Keys.CONTROL)
.keyUp(Keys.SHIFT);", we);
任何建议吗?我无法找出sendKeys到JavascriptExecutor的正确语法。我也见过一些使用Actions的类似解决方案,但这对我来说也不起作用。
尝试下面的代码打开页面上的任何链接到新标签&切换到那个选项卡。在那里执行操作&返回第一个选项卡以进一步执行。
WebDriver driver = new FirefoxDriver();
driver.get("http://stackoverflow.com/");
WebElement e = driver.findElement(By.xpath(".//*[@id='nav-questions']"));
Actions action = new Actions(driver);
action.keyDown(Keys.CONTROL).build().perform(); //press control key
e.click();
Thread.sleep(10000); // wait till your page loads in new tab
action.keyUp(Keys.CONTROL).build().perform(); //release control key
driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL + "'t"); //move to new tab
driver.navigate().refresh(); // refresh page
driver.findElement(By.xpath(".//*[@id='hlogo']/a")).click(); //perform any action in new tab. I am just clicking logo
driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL + "'t"); //switch to first tab
driver.navigate().refresh();
driver.findElement(By.xpath(".//*[@id='hlogo']/a")).click();// refresh first tab & continue with your further work.I am just clicking logo
相关文章:
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- Javascript:selenium Web驱动程序isDisplayed()不工作
- 在Web应用程序中使用Highcharts javascript
- WebDriverException:tinyMCE未在selenium Web driver java中定义
- Selenium Web驱动程序和javascript
- Windows形成web浏览器控件和Javascript更改的DOM
- 如何将javascript事件从web浏览器wpf控件发送到wpf的c#代码
- I'我设计了一个下拉菜单,onclick会出现,而on blur会消失
- window.on.scroll事件未启动
- Steam Web API:I'我不知道该如何处理这个看起来像哈希的url来生成图像
- Ruby on Rails 4:在 Rails Web 应用程序中添加 Javascript 文件时遇到问题
- Twitter Web Intent on-close callback?
- jQuery.hover on SharePoint Web Part 不起作用
- jQuery getJSON method on older mobile web browsers
- 使用JavascriptExecutor来sendKeys + click on web元素
- Firebase Web SDK -事务导致on('child_added', function).等待
- web浏览器不调用click on span
- ruby on rails-一个为web开发提供随机有用javascript片段的网站
- jQuery .hide() on .blur() 在 iOS Web 应用程序中不起作用
- ON重复键更新与Web sql和变量