Python + Selenium 入门之Discuz论坛实例
来源:互联网 发布:乔布简历 知乎 编辑:程序博客网 时间:2024/04/30 05:00
以下是一段完整的Discuz论坛登录、发帖和回复的代码。使用Firefox的selenium IDE录制后进行整理,在IE下可正常运行。但在Firefox下进入版块时找不到[默认版块]元素、在Chrome下能进入版本和填写标题,但无法点击帖子内容的输入框。不得不说selenium的水还是很深滴~~~
# 启动浏览器,打开论坛登录页面
driver = webdriver.Firefox()
driver.implicitly_wait(30)base_url = "http://192.168.63.94:1000/forum.php"
driver.get(self.base_url)
#登录
driver.find_element_by_id("ls_username").clear()
driver.find_element_by_id("ls_username").send_keys("admin") #填写用户名
driver.find_element_by_id("ls_password").clear()
driver.find_element_by_id("ls_password").send_keys("123456") #填写密码
driver.find_element_by_css_selector("button.pn.vm").click() #点击登录按钮
#进入"默认版块"
driver.set_page_load_timeout(10)
driver.find_element_by_link_text(u"默认版块").click()
driver.set_page_load_timeout(10)
driver.find_element_by_css_selector(u"img[alt=\"发新帖\"]").click()#点击【发新贴】
driver.set_page_load_timeout(10)
#帖子标题
driver.find_element_by_id("subject").clear()
driver.find_element_by_id("subject").send_keys(post.title)#填写帖子标题
#帖子内容
driver.find_element_by_id("editorbox").click()
driver.find_element_by_id("editorbox").send_keys(post.content)#填写帖子内容
#提交
driver.find_element_by_id("postsubmit").click()
driver.set_page_load_timeout(10)
#快速回复
driver.find_element_by_id("fastpostmessage").clear()
driver.find_element_by_id("fastpostmessage").send_keys(post.content)
driver.find_element_by_id("fastpostsubmit").click()
driver.set_page_load_timeout(10)
0 0
- Python + Selenium 入门之Discuz论坛实例
- Python入门:selenium之登录
- Python + Selenium 入门之环境搭建
- Python入门:selenium之登录(二)
- Python入门:selenium之修改cookie
- 用python玩转selenium:2-入门实例及分析
- 用python玩转selenium:2-入门实例及分析
- Python实现自动登录discuz论坛
- python登陆Discuz!论坛通用代码
- Discuz 论坛
- MySQL优化 之 Discuz论坛优化
- MySQL优化 之 Discuz论坛优化
- Discuz! 7.0改进之论坛任务
- Discuz! 7.0改进之论坛任务
- MySQL优化 之 Discuz论坛优化
- Golang 实践之 Discuz 论坛模拟签到
- Python + Selenium 入门之启动IE、Chrome浏览器
- selenium实例:python登录webqq
- 关于JAVA方法的值传递和引用传递
- error C2061: syntax error : identifier 'BinryTreeNode'
- C++中const用法总结
- 有关Object之wait(),notify() 和notifyAll() 以及Thread之sleep(),join()和yield()
- ACM解题--(1)ASCII码排序
- Python + Selenium 入门之Discuz论坛实例
- SQL SERVER DATABASE PROJECT的简单应用
- Linux
- oracle--多行转为一行 (listagg函数)
- 第三方开发框架
- c++中vector的一点介绍
- 开发中的验证码源码
- php中两个网页之间的变量传送
- sed的label和N参数