[英]Python Selenium Chromedriver not working with --headless option
[英]Python 3 Selenium | Clipboard not working on headless chromedriver on Windows
在 StackOverflow 中,已經有一篇關於此主題的類似帖子。 盡管帖子的 OP 回答說“這是 Windows 中的一個錯誤”並且“我沒有找到解決方案,我只是刪掉了部分代碼”。
我的情況略有不同。 我無法刪除部分代碼,但我可以使用不同的網絡瀏覽器。
我的情況:
我需要將特定文本寫入文本框。 不幸的是,我正在寫的文本包含很少的emojis實例,因此send_keys()
不是一個選項。 相反,在 StackOverflow 的幫助下,我最終使用pyperclip.copy(text)
和element.send_keys(Keys.CONTROL,'v')
效果很好(它成功復制了表情符號)。
但我還需要 ChromeDriver 為--headless
。 除了復制粘貼部分外,一切都運行良好。
我的問題
我的問題是:我應該如何解決這個問題?
--headless
at ChromeDriver)我遇到了同樣的問題,所以我使用 klembord 而不是 pyperclip。
https://pypi.org/project/klembord/
# pip install webdriver-manager
# pip install klembord
# pip install selenium
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
from webdriver_manager.firefox import GeckoDriverManager
import klembord
klembord.init()
options = Options()
options.headless = True
driver = webdriver.Firefox(options=options,executable_path=GeckoDriverManager().install())
print("Headless Firefox Initialized. Wait for output")
driver.get("https://www.lipsum.com")
l = driver.find_element_by_xpath("/html/body/div/div[2]/div[2]/div[3]/div[1]/p")
klembord.set_text(l.text) # setting text to clipboard
print("Check clipboard by pressing WIN + V or CTRL +V")
driver.quit()
據我所知,似乎無法以無頭模式訪問剪貼板。 我找不到任何確定的東西,但這是我能證明它無法完成的最接近的證據: https ://groups.google.com/g/selenium-users/c/-nxTX4eTbwA/m/wQY_HlZQBAAJ
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.