我在 firefox 无头模式下使用 ActionChains 函数,但它不起作用。我有这个滚动的 divcode_scroll = driver.find_element_by_class_name('CodeMirror-scroll')
我想在这个 div 内双击,然后复制/粘贴整个文本。double_click()函数工作正常,我已经对其进行了测试,但我认为key_down/keyup或send_keys()函数不起作用。底线:文本未被复制。
PS 代码在正常模式下运行良好。
驱动配置:
options = webdriver.FirefoxOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
driver = webdriver.Firefox(options=options, capabilities=capa,executable_path=r''+os.path.dirname(os.path.abspath(__file__))+'\geckodriver.exe')
代码:
code_scroll = driver.find_element_by_class_name('CodeMirror-scroll')
actions = ActionChains(driver)
actions.double_click(code_scroll).perform()
actions.key_down(Keys.CONTROL)
actions.send_keys('a').perform()
actions.send_keys('c').perform()
actions.key_up(Keys.CONTROL)
function_body_content = pyperclip.paste()
关于设置窗口的手动大小,我已经尝试了几个答案,但没有一个有效。
已经尝试过的解决方案:
1) driver.set_window_size(1440, 900)
2) options.add_argument("--window-size=1920, 1480")
3) options.add_argument('window-size=1920x1480')
4) options.add_argument('--width=1920')
options.add_argument('--height=1480')