这是我的代码:从robobrowser导入浏览器
url = 'http://diesel.elcat.kg/index.php?act=Login&CODE=00'
url3 = 'http://diesel.elcat.kg/index.php?act=post&do=reply_post&f=178&t=233500064'
m = browser.RoboBrowser()
m.open(url)
# SIGNING IN(form1)
form1 = m.get_form(action='https://diesel.elcat.kg/index.php?act=Login&CODE=01')
form1['UserName'].value = 'Username'
form1['PassWord'].value = 'Password'
m.submit_form(form1)
# FINISHED SIGNING IN(everything worked)
# GOING TO THE PAGE WHERE FORM IS LOCATED
m.open(url3)
# Can't submit this form
form2 = m.get_form(action="http://diesel.elcat.kg/index.php?")
form2['Post'].value = 'up'
m.submit_form(form2)
Run Code Online (Sandbox Code Playgroud)
我可以登录该网站,以便form1可以正常工作,但是在这种情况下尝试发表评论时,form2不起作用。我一直收到InvalidSubmit错误或Bad Request错误。form1的代码和form2的代码似乎相同,但是一个有效,而另一个无效。我正在使用python3.5和robobrowser,并且我正在使用Mac OS(如果有帮助)。先感谢您。这是我的回溯:
Traceback (most recent call last):
File "/Users/bkkadmin/Desktop/Daniiar/upper/test2.py", line 18, in <module>
m.submit_form(form)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/robobrowser-0.5.3-py3.5.egg/robobrowser/browser.py", line 339, in submit_form
payload = form.serialize(submit=submit)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/robobrowser-0.5.3-py3.5.egg/robobrowser/forms/form.py", line 226, in …Run Code Online (Sandbox Code Playgroud) 我试图关闭程序,在本例中是 Spotify,但我不断遇到语义错误。这是我的代码:
sup_programs.txt
{
'spotify': ['C:/Users/Daniiar/AppData/Roaming/Spotify/Spotify.exe']
}
Run Code Online (Sandbox Code Playgroud)
脚本:
class Path(object):
import ast
sup_programs_txt = open('sup_programs.txt', 'r')
s_p = sup_programs_txt.read()
paths = ast.literal_eval(s_p)
sup_programs_txt.close()
paths = Path().paths
program_name = 'spotify'
def open_program(path_name):
import subprocess
subprocess.Popen(path_name)
open_program(paths[program_name])
def close_program(path_name):
import subprocess
p = subprocess.Popen(path_name)
p.terminate()
yes = input(" ... ")
if 'close' in yes or 'yes' in yes:
close_program(paths[program_name])
else:
print('too bad')
Run Code Online (Sandbox Code Playgroud)
我使用了kill()和terminate(),它们都没有工作,并且os.system('TASKKILL')是否有其他方法或者错误地使用了现有的方法?
顺便说一句,我使用的是 windows 10 和 python 3.5 。感谢您的帮助