使用python+selenium制作浏览器爬虫,彻底解决ajax异步加载问题(待更新)
2017-03-23 17:25
1126 查看
打开浏览器需要下载相应的webdriver并保存到系统path下。chrome对应的webdriver下载地址:http://download.csdn.net/detail/u013760453/9790569
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser=webdriver.Chrome()#打开chrome
browser.get(r'http://icrm.baidu.com/')#打开网页
elem = browser.find_element_by_xpath('//*[@id="user"]')#by后面可选的类型有id/name/value等等
elem.click()#点击按钮
# elem.send_keys(Keys.RETURN)#模拟回车键
# browser.back()#页面前进后退
# browser.forward()
# print(browser.page_source)#获取加载后的html
# browser.quit()#关闭浏览器
填写内容:获取element后使用elem.send_keys('***')
xpath的获取:在页面组件上右键-检查-在html相应标签上右键-copy-copy xpath
#document下的异步加载内容的选取
原网址:http://stackoverflow.com/questions/24360135/python-selenium-webdriver-finding-document-element
使用如下代码后即可使相关内容可选
iframe = browser.find_element_by_css_selector('iframe')
browser.switch_to.frame(iframe)
#向codeMirror代码编辑器中填写代码,该xpath应为包含codemirror整体的类的xpath,不可以是各个细分codemirror组件的xpath
elem = browser.find_element_by_xpath('//*[@id="b6_up"]/div/form/div[1]/div')
browser.execute_script("arguments[0].CodeMirror.setValue(arguments[1]);",elem,"test")
# 组合键CTRL+ENTER
# browser.find_element_by_xpath('//*[@id="b7_execute"]').send_keys(Keys.CONTROL,Keys.ENTER)
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser=webdriver.Chrome()#打开chrome
browser.get(r'http://icrm.baidu.com/')#打开网页
elem = browser.find_element_by_xpath('//*[@id="user"]')#by后面可选的类型有id/name/value等等
elem.click()#点击按钮
# elem.send_keys(Keys.RETURN)#模拟回车键
# browser.back()#页面前进后退
# browser.forward()
# print(browser.page_source)#获取加载后的html
# browser.quit()#关闭浏览器
填写内容:获取element后使用elem.send_keys('***')
xpath的获取:在页面组件上右键-检查-在html相应标签上右键-copy-copy xpath
#document下的异步加载内容的选取
原网址:http://stackoverflow.com/questions/24360135/python-selenium-webdriver-finding-document-element
使用如下代码后即可使相关内容可选
iframe = browser.find_element_by_css_selector('iframe')
browser.switch_to.frame(iframe)
#向codeMirror代码编辑器中填写代码,该xpath应为包含codemirror整体的类的xpath,不可以是各个细分codemirror组件的xpath
elem = browser.find_element_by_xpath('//*[@id="b6_up"]/div/form/div[1]/div')
browser.execute_script("arguments[0].CodeMirror.setValue(arguments[1]);",elem,"test")
# 组合键CTRL+ENTER
# browser.find_element_by_xpath('//*[@id="b7_execute"]').send_keys(Keys.CONTROL,Keys.ENTER)
相关文章推荐
- python爬虫,selenium使用,Firefox-chrome-IE问题解决方法,selenium的基本操作
- AjaxPro实现异步调用,解决浏览器假死及超时问题
- 使用Android Studio 练习RecyclerView 异步加载图片,解决图片乱序问题。
- Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
- Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
- 【转】使用Chrome Frame,彻底解决浏览器兼容问题
- 使用Python2.7操作Selenium2时只打开浏览器不load URL的解决方法
- 解决在循环中使用ajax异步时,数据的同步问题
- [Python爬虫]利用Selenium等待Ajax加载及模拟自动翻页,爬取东方财富网公司公告
- 【jQuery】解决在循环中使用ajax异步时,数据的同步问题
- Selenium Webdriver 的使用java执行js代码 解决 ScriptEngine不支持浏览器内置对象window,document的问题
- android使用异步加载解决图片内存溢出问题
- 解决使用Ajax时浏览器的缓存问题
- HTML5异步上传图片(支持预览和进度条),使用其他按钮触发file onclick事件,解决某些浏览器无法触发的问题
- Python使用Selenium爬取淘宝异步加载的数据
- 解决使用Ajax时浏览器的缓存问题
- Python-Selenium2做Web自动化测试(6)-解决使用Webdrive打开Firefox不含有插件的问题
- Selenium Webdriver JS事件在各浏览器的区别,彻底解决Selenium鼠标悬停 Mouseover和hover问题
- 使用 ajax json(getJSON)从服务器读取数据,在IE下不更新问题解决
- selenium显示等待解决浏览器未加载完成查找控件的问题