600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 使用selenium实现豆瓣电影信息的自动化搜索

使用selenium实现豆瓣电影信息的自动化搜索

时间:2021-03-14 01:30:46

相关推荐

使用selenium实现豆瓣电影信息的自动化搜索

因为之前写了一段时间的python,但是因为某些其它的事情导致没写博客,所以趁着新任务还是有些时间做,赶紧把之前学习到的、了解到的东西整理一下,也是比较基础的东西,一是怕自己遗忘;二来则是给没用过selenium模块的朋友作些许参考。

首先我来解释一下python中的selenium模块。它本质上是一个用作web应用程序测试的框架,Selenium框架可以直接在浏览器中运行,就好比真实用户在浏览器中进行‘点击按钮’,‘文字输入’等操作。其运行的时候,就像是有个‘无形的手’在操纵着你的鼠标、键盘等。

接下来我将使用selenium模块在豆瓣电影页面进行某部电影的检索工作, 先把代码贴出来,然后我会针对其中的某些地方进行讲解。

# -- coding: utf-8from selenium import webdriverimport timeurl='/'browser=webdriver.Chrome()browser.get(url)#设置隐式等待浏览器加载豆瓣主界面内的frame等元素browser.implicitly_wait(5)#使用标签名称定位元素browser.switch_to.frame(browser.find_elements_by_tag_name('iframe')[0])#使用xpath解析html文件中的dom树,然后定位元素bottom=browser.find_element_by_xpath('/html/body/div[1]/div[1]/ul[1]/li[2]')#模拟点击 '密码登陆按钮' 选择密码登陆bottom.click()#根据元素的id信息定位元素input1=browser.find_element_by_id('username')#your_account位置应该是自己的豆瓣账号input1.send_keys('your_account') input1=browser.find_element_by_id('password')#your_password位置应该是自己的豆瓣账号对应的密码信息input1.send_keys('your_password') login_button=browser.find_element_by_class_name('account-form-field-submit ')#登陆豆瓣,进行'按钮'的模拟点击login_button.click()time.sleep(12)searchInput=browser.find_element_by_id('inp-query')#检索‘秦时明月之沧海横流 ()’这部动漫的信息searchInput.send_keys('秦时明月之沧海横流 ()') searchButton=browser.find_element_by_class_name('inp-btn')searchButton.click()browser.quit()

其实代码中的注释解释地也比较清楚,在这段代码中selenium模块所完成的工作就是“打开豆瓣主页面—>输入豆瓣账号、密码信息进行豆瓣的登录—>搜索特定节目信息—>退出浏览器”,这些都是selenium模块自动完成的,全程不需要大家进行任何操作。

当然,大家也可以在此基础上进一步探索selenium模块使用,可以学习一下Webdriver模块的使用,比如‘控制浏览器操作’,‘鼠标事件’,‘键盘事件’等。如果后续有时间的话,我会继续补充这篇博客,大家有问题的话可以在评论区交流讨论!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。