首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在单击Selenium元素后用xsel提取剪贴板内容

如何在单击Selenium元素后用xsel提取剪贴板内容
EN

Stack Overflow用户
提问于 2018-01-20 19:02:20
回答 1查看 1.1K关注 0票数 1

以下代码使用xsel,并希望在驱动程序复制到剪贴板后从网页中提取剪贴板内容:

代码语言:javascript
复制
import unittest
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import subprocess


class Test(unittest.TestCase):
    def run(self):
        self.driver = webdriver.Firefox()
        self.driver.get('some_uri')
        self.wait = WebDriverWait(self.driver, 20)
        link_elem = self.wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "i[data-original-title='Copy to clipboard']")))
        link_elem.click()
        self.wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "i[data-original-title='Copied']")))        
        link = subprocess.check_output(["xsel"])
        print(link)

剪贴板内容是打印出来的,但不是python代码复制的内容,而是过去的一些剪贴板内容。如何正确提取剪贴板内容?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-20 19:15:33

解决办法是使用:

代码语言:javascript
复制
link = subprocess.check_output(["xsel", "--clipboard"]) 

而不是

代码语言:javascript
复制
link = subprocess.check_output(["xsel"])

来自xsel人

-b,-剪贴板对剪贴板的选择进行操作。

默认情况下,xsel会回显主选择,我需要剪贴板选择。更多关于它的这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48359983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档