以下代码使用硒和xsel,并希望在驱动程序复制到剪贴板后从网页中提取剪贴板内容:
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代码复制的内容,而是过去的一些剪贴板内容。如何正确提取剪贴板内容?
发布于 2018-01-20 19:15:33
解决办法是使用:
link = subprocess.check_output(["xsel", "--clipboard"]) 而不是
link = subprocess.check_output(["xsel"])来自xsel人
-b,-剪贴板对剪贴板的选择进行操作。
默认情况下,xsel会回显主选择,我需要剪贴板选择。更多关于它的这里。
https://stackoverflow.com/questions/48359983
复制相似问题