Python爬虫怎么用硒模拟用户操作

  

Python爬虫怎么用硒模拟用户操作?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

硒是一个网络的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是硒可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器)。

硒可以根据我们的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生。

硒自己不带浏览器,不支持浏览器的功能,它需要与第三方浏览器结合在一起才能使用。

先下载硒webdriver geckodriver。exe”,下载好后放到python目录里面;

firefox的目录也要添加到环境变量中,

硒库里有个叫WebDriver的API.WebDriver有点儿像可以加载网站的浏览器,但是它也可以像BeautifulSoup或者其他选择器对象一样用来查找页面元素,与页面上的元素进行交互(发送文本,点击等),以及执行其他动作来运行网络爬虫。

<强>硒快速入门

# !/usr/bin/env  python   #,- *安康;编码:utf-8  - *   得到selenium  import  webdriver   #,要想调用键盘按键操作需要引入钥匙包   得到selenium.webdriver.common.keys  import 钥匙   #创建浏览器对象   时间=driver  webdriver.Firefox ()   driver.get (“http://www.baidu.com")   #打印页面标题“百度一下你就知道”   print  driver.title   #生成当前页面快照   driver.save_screenshot (“baidu.png")   #,id=発w"是百度搜索框,输入字符串“微博”,跳转到搜索中国页面   driver.find_element_by_id (“kw") .send_keys (u"微博“)   #,id=皊u"是百度搜索按钮,单击(),是模拟点击   driver.find_element_by_id (“su") .click ()   #,获取新的页面快照   driver.save_screenshot (u"微博.png")   #,打印网页渲染后的源代码   print  driver.page_source   #,获取当前页面饼干   print  driver.get_cookies ()   #,ctrl + a 全选输入框内容   driver.find_element_by_id (“kw") .send_keys (Keys.CONTROL & # 39;一个# 39;)   #,ctrl + x 剪切输入框内容   driver.find_element_by_id (“kw") .send_keys (Keys.CONTROL & # 39; x # 39;)   #,输入框重新输入内容   driver.find_element_by_id (“kw") .send_keys (“test")   #,模拟进入回车键   driver.find_element_by_id (“su") .send_keys (Keys.RETURN)   #,清除输入框内容   driver.find_element_by_id (“kw") .clear ()   #,生成新的页面快照   driver.save_screenshot (“test.png")   #,获取当前url   print  driver.current_url   #,关闭当前页面,如果只有一个页面,会关闭浏览器   #,driver.close ()   #,关闭浏览器   driver.quit ()

<强> 1。页面操作

假如有下面的输入框

& lt; input 类型=皌ext", name=皍ser-name", id=皃asswd-id",/在

寻找方法

#,获取id标签值   时间=element  driver.find_element_by_id (“passwd-id")   #,获取名字标签值   时间=element  driver.find_element_by_name (“user-name")   #,获取标签名值   时间=element  driver.find_elements_by_tag_name (“input")   #,也可以通过XPath来匹配   element =, driver.find_element_by_xpath(“//输入[@ id=& # 39; passwd-id& # 39;]“)

<强> 2。定位元素的方法

find_element_by_id   find_elements_by_name   find_elements_by_xpath   find_elements_by_link_text   find_elements_by_partial_link_text   find_elements_by_tag_name   find_elements_by_class_name   find_elements_by_css_selector

<强> 3。鼠标动作

# !/usr/bin/env  python   #,- *安康;编码:utf-8  - *   得到selenium  import  webdriver   #,要想调用键盘按键操作需要引入钥匙包   得到selenium.webdriver.common.keys  import 钥匙   得到selenium.webdriver  import  ActionChains   #创建浏览器对象   时间=driver  webdriver.Firefox ()   driver.get (“http://www.baidu.com")   #鼠标移动到某处   时间=action1  driver.find_element_by_id (“su")   ActionChains(司机).move_to_element (action1) .perform ()   #鼠标移动到某处单击   时间=action2  driver.find_element_by_id (“su")   ActionChains(司机).move_to_element (action2) .click (action2) .perform ()   #鼠标移动到某处双击   时间=action3  driver.find_element_by_id (“su")   ActionChains(司机).move_to_element (action3) .double_click (action3) .perform ()   #,鼠标移动到某处右击   时间=action4  driver.find_element_by_id (“su")   ActionChains(司机).move_to_element (action4) .context_click (action4) .perform ()

Python爬虫怎么用硒模拟用户操作