【问题标题】:Copy a link and launch it in a new window in Selenium Python复制链接并在 Selenium Python 的新窗口中启动它
【发布时间】:2015-06-03 22:57:09
【问题描述】:

我有一个链接,我需要将其复制并粘贴到新的浏览器窗口中。我有以下代码 sn-p 但它似乎不起作用。我在 StackOverFlow 中找到了这段代码 sn-p。我得到空白窗口。请指教。谢谢!

 shortUrl =  driver.find_element_by_css_selector('#url-text')

      shortUrl.send_keys(Keys.CONTROL, 'a') #highlight all in box
      time.sleep(5)
      newLink = shortUrl.send_keys(Keys.CONTROL, 'c') #copy
      time.sleep(5)
      actionChains.click(newLink).key_down(Keys.COMMAND+'w')
      newLink2 = shortUrl.send_keys(Keys.CONTROL, 'v')

【问题讨论】:

    标签: python-3.x selenium-webdriver copy-paste new-window


    【解决方案1】:

    您为什么要尝试复制链接然后在新窗口中启动它,有什么具体原因吗?取而代之的是,您可以单击链接并在另一个窗口中打开。此操作的代码是用 java 编写的:

      Actions act = new Actions(driver);
      WebElement onElement = driver.findElement(By.linkText("Gmail"));
      act.contextClick(onElement).perform();
      act.sendKeys("w").perform(); 
    

    希望这段代码对你有帮助!!!

    【讨论】:

    • 这不是可点击的链接。基本上是在文本框中显示的短网址。我需要复制它并在不同的窗口中打开以完成更多取决于该 url 的测试。这是元素
    • 您可以通过JS执行器来实现。从元素中获取内部文本并尝试打开为 String url = elem.getText(); JavascriptExecutor js = (JavascriptExecutor) 驱动程序; js.executeScript("window.open('" + url + "')");
    猜你喜欢
    • 2013-10-09
    • 1970-01-01
    • 2011-10-19
    • 2014-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-07
    相关资源
    最近更新 更多