没有<input type =“ file” />元素的硒文件上传

时间:2018-08-17 04:28:28

标签: javascript python python-2.7 selenium automation

我正在尝试在简历/简历附件部分的here上使用selenium / python上传我的简历。

当我检查Attach元素时,它显示为<a data-source="attach" href="#">Attach</a>.

我对HTML不太熟悉,因此我尝试使用x send_keys()通过xpath查找元素,但该文件在程序中运行并且不上传任何内容。没有错误消息。

driver.find_element_by_xpath('/html/body/div[1]/div/div[1]/div[3]/form/div[1]/div[10]/div/div[3]/a[1]').send_keys(info.resume)

我可以设法找到Web元素并使用click()打开上载文件选项,但我希望能够完全上载文件。

当我输入type="file"时,就好像在线上传的例子一样,我以前使用过并且效果很好。

1 个答案:

答案 0 :(得分:1)

实际上,有用于文件上传的输入。您可以使用以下代码:

driver.find_element_by_id('file').send_keys(info.resume)

请注意,所有3个文件输入字段(CV,求职信和成绩单的非官方副本)都具有相同的id属性"file",因此您可以按索引选择每个字段:

driver.find_elements_by_id('file')[0].send_keys(info.resume)
driver.find_elements_by_id('file')[1].send_keys(info.cover_letter)
driver.find_elements_by_id('file')[2].send_keys(info.transcript)