蟒蛇。硒。没有输入标签的上传文件

时间:2020-03-30 08:38:08

标签: python linux selenium

这是拖放区HTML

<dropzone _ngcontent-c80="" accept="image/jpg,image/jpeg,image/png" _nghost-c81="">
<div _ngcontent-c81="" class="content">
<div _ngcontent-c80="" class="drop-image-icon half-margin-bottom" iconid="drop-image" svg-icon="" vb="0 0 64 48" _nghost-c4="">
<svg _ngcontent-c4="" viewBox="0 0 64 48">
<use _ngcontent-c4="" xlink:href="https://core-stg1.teradek.com/app/kovalyovfortests/studio/assets#drop-image">
</use>
</svg>
</div>
<div _ngcontent-c80="" class="primary">Drop an image here</div>
<div _ngcontent-c80="" class="primary half-margin-top half-margin-bottom">— or —</div>
<a _ngcontent-c80="" class="secondary">Select an image from your computer</a>
</div>
</dropzone>

我尝试用发送文件

driver.find_element_by_xpath('//*[@iconid="drop-image"]').send_keys('/home/user/pic/3-1.png')

并进行追溯:

selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable

如何使用.send_keys将文件发送到放置区?

P.S。它适用于

import pyautogui

find_by_xpath('//*[@iconid="drop-image"]').click()

pyautogui.write(/home/user/pic/3-1.png, interval=0.25)
pyautogui.press('return')

1 个答案:

答案 0 :(得分:1)

其他替代sendkey方法,您可以使用Action类:

element = driver.find_element_by_xpath('...')
action = ActionChains(driver)
action.move_to_element(element).send_keys('/home/user/pic/3-1.png').perform()

正在导入:

from selenium.webdriver import ActionChains