首页 » PHP教程 » phpphantomjs点击技巧_PhantomJSSelenium轻松爬虫及模拟网页点击

phpphantomjs点击技巧_PhantomJSSelenium轻松爬虫及模拟网页点击

访客 2024-12-11 0

扫一扫用手机浏览

文章目录 [+]

from selenium import webdriver

#将selenium模块导进来

phpphantomjs点击技巧_PhantomJSSelenium轻松爬虫及模拟网页点击

import time

phpphantomjs点击技巧_PhantomJSSelenium轻松爬虫及模拟网页点击
(图片来自网络侵删)

#导入time模块,以便之后爬虫等待

driver=webdriver.PhantomJS()

#引用PhantomJS

driver.set_window_size(1920,1080)

#设置PhantomJS窗口大小,由于没有实体界面,以是大小随便设

driver.get(\"大众http://lovecrazy.cn\"大众)

#输入要爬的网站地址

driver.find_element_by_id(\"大众ls_username\公众).send_keys(\"大众测试\"大众)

driver.find_element_by_id(\"大众ls_password\"大众).send_keys(\"大众ceshi123\"大众)

driver.find_element_by_xpath(\"大众//[@id='lsform']/div/div/table/tbody/tr[2]/td[3]/button\"大众).click()

#以上三行做了输入账号密码及点击事宜。
find_element_by_id()先获取元素输入的位置,send_keys()中写要输入的内容。
探求位置的几种方法后面详细讲。

time.sleep(2)//加载新页面须要韶光,让浏览器先喘口气,这里暂且让它缓2秒

data=driver.find_element_by_xpath(\"大众//[@id='g_upmine']\"大众).text

print(data)

#以上两行只是个测试,显示登录成功后的用户组。

获取元素的方法

下面讲一下怎么获取须要点击或爬取的元素。
这里只说一下万能方法:

笔者采取Chrome内核的浏览器。
谷歌浏览器,QQ浏览器,360浏览器都可以。
打开网页后Wndows操作系统按F12,Mac则按option+command+c,也可依次右键,检讨。
点击新增界面左上角的鼠标箭头,再点击网页上要查找的元素,右键加深代码,依次选择Copy,Copy XPATH,末了将代码粘贴到driver.find_element_by_xpath(\"大众\公众)括号中即可(别忘可把贴进来代码里的双引号改成单引号,否则会报错。

非万能方法耗韶光,一样平常须要查找元素的id,class等标签,这里不推举。

这里有个坑,你在网页点开一个链接后会创造获取不到新页面的数据。
这是由于如果点击后打开了新窗口,程序获取的还是老窗口的内容,这里只需加一行driver.switch_to.window(driver.window_handles[1]),方括号中可填0,1和-1。
0代表第一个窗口,1代表末了一个窗口,-1为当前显示的窗口。

快结束了

末了说一下获取爬的内容,实在很大略,只需在driver.find_element_by_xpath(\公众\公众)加.text或.value即可。
(print就不用我说了,地球人都知道)

由于事情须要笔者采取PhantomJS+Selenium,但是读者若运行我的代码会创造,python给出一行警告(可忽略),大意是PhantomJS已经被开放商放弃了,请用其他无界面浏览器。
这次利用这个插件也是考试测验,实在无头浏览器大同小异,学会PhantomJS再利用其他浏览器已是得心应手了。
后期如果有机会我会更新Chrome无头版的爬虫办法。

THE END

标签:

相关文章