下面是一些crowdfire.com HTML代码,其中我试图在输入类中上传文件= ...
while ((ch = getopt(argc, argvm "s:E:")) != -1) {
printf(" %d\n", ch);
}
以下是我到目前为止的情况。我已经创建了驱动程序实例,该代码在登录网站之前没有问题,并找到所有其他xpath
<div id="ember1089" class="ember-view">
<div id="ember1090" class="action__addImage pointer ember-view tooltipstered">
<div data-ember-action="1091">
<img class="iconImg iconImg--camera" src="/publish/images/icon-camera-b432ac4c5b369d4616baf097b951d9b4.png"/>
<span>Add an image</span>
</div>
<input class="js-file-input action__fileInput" type="file" data-ember-action="1092"/>
</div>
以下是我得到的错误,我真的不明白是什么问题,在网站上有一个“添加图像”链接。如果单击它会弹出窗口的资源管理器,用户可以从中选择文件并上传它。
image = driver.find_element_by_xpath('.//*[@id=\'ember1089\']/input')
time.sleep(2)
print 'found element'
image.send_keys('C:\Users\Brian\Desktop\Empire_fort\Bots\GetPICtures\Empire.jpg)
print 'uploading'
time.sleep(5)
谢谢!
Ps更新,它适用于webdriver.Chrome()实例但不适用于Firefox或phantomjs
答案 0 :(得分:0)
我怀疑您需要让input
首先显示:
image = driver.find_element_by_css_selector('#ember1089 input')
driver.execute_script("arguments[0].style.display = 'block';", image);
image.send_keys('C:\Users\Brian\Desktop\Empire_fort\Bots\GetPICtures\Empire.jpg')