Python里面模拟登陆Weibo Element is not currently interactable,weibointeractable,代码来源我用的py2,改
Python里面模拟登陆Weibo Element is not currently interactable,weibointeractable,代码来源我用的py2,改
代码来源
我用的py2,改动了点
#encoding=utf-8import timefrom selenium import webdriverimport requests# 该段代码在ubuntu上能成功运行,并没有在windows上面运行过# 直接登陆新浪微博url = 'http://weibo.com/login.php'driver = webdriver.PhantomJS()driver.get(url)print(u'开始登陆')# 定位到账号密码表单login_tpye = driver.find_element_by_class_name('info_header').find_element_by_xpath('//a[2]')login_tpye.click()time.sleep(3)name_field = driver.find_element_by_id('loginname')name_field.clear()name_field.send_keys('youraccount')password_field = driver.find_element_by_class_name('password').find_element_by_name('password')password_field.clear()password_field.send_keys('yourpassword')submit = driver.find_element_by_link_text(u'登录')submit.click()# 等待页面刷新,完成登陆time.sleep(5)print('登陆完成')sina_cookies = driver.get_cookies()cookie = [item["name"] + "=" + item["value"] for item in sina_cookies]cookiestr = '; '.join(item for item in cookie)# 验证cookie是否有效redirect_url = 'http://weibo.com/p/1005051921017243/info?mod=pedit_more'headers = {'cookie': cookiestr}html = requests.get(redirect_url, headers=headers).textprint(html)#报错信息如下:开始登陆<selenium.webdriver.remote.webelement.WebElement (session="2151def0-f283-11e6-9463-198aed0167cd", element=":wdc:1487055608184")>Traceback (most recent call last): File "weibo.py", line 20, in <module> name_field.clear() File "d:\python27\lib\site-packages\selenium\webdriver\remote\webelement.py",line 87, in clear self._execute(Command.CLEAR_ELEMENT) File "d:\python27\lib\site-packages\selenium\webdriver\remote\webelement.py",line 461, in _execute return self._parent.execute(command, params) File "d:\python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 236, in execute self.error_handler.check_response(response) File "d:\python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 192, in check_response raise exception_class(message, screen, stacktrace)selenium.common.exceptions.InvalidElementStateException: Message: {"errorMessage":"Element is not currently interactable and may not be manipulated","request":{"headers":{"Accept":"application/json","Accept-Encoding":"identity","Connection":"close","Content-Length":"81","Content-Type":"application/json;charset=UTF-8","Host":"127.0.0.1:54244","User-Agent":"Python-urllib/2.7"},"httpVersion":"1.1","method":"POST","post":"{\"sessionId\": \"2151def0-f283-11e6-9463-198aed0167cd\",\"id\": \":wdc:1487055608184\"}","url":"/clear","urlParsed":{"anchor":"","query":"","file":"clear","directory":"/","path":"/clear","relative":"/clear","port":"","host":"","password":"","user":"","userInfo":"","authority":"","protocol":"","source":"/clear","queryKey":{},"chunks":["clear"]},"urlOriginal":"/session/2151def0-f283-11e6-9463-198aed0167cd/element/:wdc:1487055608184/clear"}}Screenshot: available via screen
stackoverflow答案
driver.set_window_size(1920, 1080)
编橙之家文章,
相关内容
- 求问Ubuntu下eclipse+pydev环境提示有错,ubuntupydev,程序源码
- Python列表转换怎么写比较高效,python列表怎么写,a = [
- 请问python什么方法可以找到当前目录下的指定文件?,
- Python写文件时换行没执行哪里出问题,python写换行执行
- python批量抓取二级域名标题的方法,python二级域名,#
- Linux实现Python读取word文件方法是?,linuxpython,R.T.doc 是
- Python os.environ能获取到的环境变量,在os.environ.getenv得不
- Python lxml xpath解析为何只能获得头部信息,lxmlxpath,我在
- Python http requests模拟登录与提交表单的实现问题,pyth
- Python IDE代码复制到word中,缩进问题如何保证,pythonide
评论关闭