Python Selenium库的使用
- 首先要安装驱动
寻找驱动下载连接:不用每次都依靠百度去找,其实就在我们的身边
window下进入命令行:输入‘python -m pydoc -p 6666’
然后按下b键即可进入python的官网文档,然后ctrl+F进入查询模式,查询:Selenium即可查看该库的官方文档。里面涵括各种浏览器的下载以及驱动下载并且有最全的API参考,不用在上网找其他人的,自己理解最重要。 将浏览器的目录加入到环境变量中,应该不难吧
我只是简单的使用Selenium库进行模拟浏览器的操作,没有过多的深入去探讨其他的一些深度的技术,下面分享一下在这个过程中遇到的哪些坑
1.虽然使用Xpath好像写出来的代码非常的繁杂,但是真的好用啊,只有在浏览器上copy X-path就可以准确定位到你想要的元素,但还是要去了解一些Xpath的一些知识,不要只是说诶我知道怎么定位就行。利用Xpath进行定位的API为:
find_element_by_xpath(self, xpath)
Finds an element by xpath.:Args:
xpath - The xpath locator of the element to find.:Usage:
driver.find_element_by_xpath(‘//div/td[1]’)2.如果进行点击后新打开了一个页面,记得使用switch进行切换,不然只是一直在第一个窗口就行操作,之前就是因为这个低级的错误一直在找原因,回头才发现是没有切换窗口。切换窗口的API为:
switch_to_window(self, window_name)
Deprecated use driver.switch_to.window
获取window_name即是获得该窗口的PID
window_list = driver.window_handles#获取当前window句柄
通常来说window_list[0]即为第一个,window_list[1]即为第二个打开的窗口3.不仅要切换窗口,还要注意内嵌的iframe,不然有一些元素也是点击不到的。切换iframe的API为:
switch_to_frame(self, frame_reference)
Deprecated use driver.switch_to.frame
切换iframe有三种方式:iframe的id,iframe的name,还有一种就是先定位到iframe上再使用switch进行切换4.driver.implicitly_wait(1)智能等待,感觉很牛逼的样子。