selenium+python上传图片
selenium+python如何实现上传图片呢?必须借助AutoIT工具吗?可以操作打开此界面,但是后面不知如何操作,求大师指点,谢谢!
网上查一查Sendkeys这个模块的用法,需要另下载 可以用python(pywin32)库操作windows窗口来实现,这个有点难度,需要研究好一会。 若尘_51 发表于 2017-3-17 08:36
可以用python(pywin32)库操作windows窗口来实现,这个有点难度,需要研究好一会。
:'( 若尘_51 发表于 2017-3-17 08:36
可以用python(pywin32)库操作windows窗口来实现,这个有点难度,需要研究好一会。
再想请教你一个问题,我这个用unittest框架写的评论功能,因为unittest.main()中setup和teardown只运行一次,评论内容想循环遍历(红色部分),但是不知放到呢个位置合适?谢谢了
#!/usr/bin/env python
#_*_coding:utf-8_*_
from selenium import webdriver
import time,unittest
class Information(unittest.TestCase):
def setUp(self):
self.driver=webdriver.Chrome()
self.driver.maximize_window()
self.driver.get('http://test.test.tv')
def comment(self,value):
driver=self.driver
h1=self.driver.current_window_handle
driver.find_element_by_xpath('//div[@class="left-top"]/div/img').click()
hs=driver.window_handles
for h2 in hs:
if h2!=h1:
driver.switch_to.window(h2)
driver.find_element_by_xpath('html/body/div/ul/li/i/a').click()
time.sleep(3)
driver.find_element_by_xpath('//*[@id="comment"]/div/div/textarea').click()
driver.find_element_by_xpath('//*[@id="comment"]/div/div/textarea').send_keys(value)
driver.find_element_by_link_text('发布').click()
def test1(self):
a=['aaa','bbb']
for value in a:
self.comment(value)
'''
def tearDown(self):
driver=self.driver
driver.quit()
'''
if __name__=="__main__":
unittest.main()
楼主,上传文件的问题搞定了没有,我也遇到这个问题。。。。。。 同问,上传图片ok了么 楼主,图片上传解决了吗? cq520131517 发表于 2017-4-1 10:11
楼主,图片上传解决了吗?
如果你是input标签就可以直接上传send_keys('图片地址') :) input标签的话,你可以直接send_keys
非input标签的话,可以用autoit定位文件路径窗口和确定按钮进行自动操作
用os调用程序就行了 涉及Windows窗口的一般都需要使用autoIT来辅助,selenium本身是不能识别win对象的,webdriver是针对web设计的 Selenium只能操作网页本身 遇到上传文件打开新窗口的问题需要结合Autoit v3解决搜集robotframework的学习资料就能知道
页:
[1]