当我使用PhantomJS和selenium运行我的代码时,res显示act,但是在send_keys中,代码将不会继续,只是保持,没有错误,没有任何答案,也没有保留。我只是想知道为什么
res = re.findall(r'\<input id=\"([^\n]*)\" type=\"file\" style="font-size: 999px; opacity: 0; position: absolute; top: 0px; left: 0px; width: 100%; height: 100%;',pages)
dr = driver.find_element_by_id(res[0])
dr.send_keys('/Users/liangshengjun/Desktop/bin/2_0.jpg')
答案 0 :(得分:0)
之所以发生这种情况,是因为您只选择了文件,您没有提交任何表格而且没有采取任何行动。因此,您需要单击某个提交按钮或使用您的文件路径发送ENTER键,如下所示:
from selenium.webdriver.common.keys import Keys
# your code here, then add this key on last step.
dr.send_keys('/Users/liangshengjun/Desktop/bin/2_0.jpg' + Keys.ENTER)
你真的不应该使用正则表达式来查找输入,你最好尝试xpath或者可能是css选择器。
在切换到无头模式(谷歌浏览器 - 无头或PhantomJS,如你的情况)之前,用Firefox等图形浏览器进行调试是很好的方法。