个人网站域名,杭州优化seo公司,总做总结 网站维护的收获,网站如何在国外推广目录 1.什么是selenium#xff1f;
2.为什么使用selenium#xff1f;
3.selenium安装
4.selenium的使用步骤
5.selenium的元素定位
6.访问元素信息
7.交互 1.什么是selenium#xff1f;
#xff08;1#xff09;Selenium是一个用于Web应用程序测试的工具。
#…目录 1.什么是selenium
2.为什么使用selenium
3.selenium安装
4.selenium的使用步骤
5.selenium的元素定位
6.访问元素信息
7.交互 1.什么是selenium
1Selenium是一个用于Web应用程序测试的工具。
2Selenium 测试直接运行在浏览器中就像真正的用户在操作一样。
3支持通过各种driverFirfoxDriverIternetExplorerDriverOperaDriverChromeDriver驱动真实浏览器完成测试。
4selenium也是支持无界面浏览器操作的。
2.为什么使用selenium
模拟浏览器功能自动执行网页中的js代码实现动态加载。
3.selenium安装
1操作谷歌浏览器驱动下载地址 http://chromedriver.storage.googleapis.com/index.html
2谷歌驱动和谷歌浏览器版本之间的映射表 http://blog.csdn.net/huilan_same/article/details/51896672
3查看谷歌浏览器版本 谷歌浏览器右上角‐‐帮助‐‐关于
4pip install selenium
4.selenium的使用步骤
1导入from selenium import webdriver
2创建谷歌浏览器操作对象 path 谷歌浏览器驱动文件路径 browser webdriver.Chrome(path)
3访问网址 url 要访问的网址 browser.get(url) # 1导入selenium
from selenium import webdriver# (2) 创建浏览器操作对象path chromedriver.exebrowser webdriver.Chrome(path)# 3访问网站
# url https://www.baidu.com
#
# browser.get(url)url https://www.jd.com/browser.get(url)# page_source获取网页源码
content browser.page_source
print(content)
5.selenium的元素定位
元素定位自动化要做的就是模拟鼠标和键盘来操作来操作这些元素点击、输入等等。操作这些元素前首先要找到它们WebDriver提供很多定位元素的方法 方法 1find_element_by_id eg:button browser.find_element_by_id(su) 2find_elements_by_name eg:name browser.find_element_by_name(wd) 3find_elements_by_xpath eg:xpath1 browser.find_elements_by_xpath(//input[idsu]) 4find_elements_by_tag_name eg:names browser.find_elements_by_tag_name(input) 5find_elements_by_css_selector eg:my_input browser.find_elements_by_css_selector(#kw)[0] 6find_elements_by_link_text eg:browser.find_element_by_link_text(新闻) 注现在把这些代码整合到一起了可以通过find_element(by, value)找by的值为属性名value为属性值 from selenium import webdriverpath chromedriver.exe
browser webdriver.Chrome(path)url https://www.baidu.com
browser.get(url)# 元素定位# 根据id来找到对象
button browser.find_element_by_id(su)
print(button)# 根据标签属性的属性值来获取对象的
button browser.find_element_by_name(wd)
print(button)# 根据xpath语句来获取对象
button browser.find_elements_by_xpath(//input[idsu])
print(button)# 根据标签的名字来获取对象
button browser.find_elements_by_tag_name(input)
print(button)# 使用的bs4的语法来获取对象
button browser.find_elements_by_css_selector(#su)
print(button)button browser.find_element_by_link_text(直播)
print(button)
6.访问元素信息 获取元素属性 .get_attribute(class) 获取元素文本 .text 获取标签名 .tag_name from selenium import webdriverpath chromedriver.exe
browser webdriver.Chrome(path)url http://www.baidu.com
browser.get(url)input browser.find_element_by_id(su)# 获取标签的属性
print(input.get_attribute(class))
# 获取标签的名字
print(input.tag_name)# 获取元素文本
a browser.find_element_by_link_text(新闻)
print(a.text)
7.交互 点击:click()输入:send_keys()后退操作:browser.back()前进操作:browser.forword()模拟JS滚动: jsdocument.documentElement.scrollTop100000 browser.execute_script(js) 执行js代码 获取网页代码page_source退出browser.quit() 实例百度自动搜索周杰伦并翻页等操作
from selenium import webdriver# 创建浏览器对象
path chromedriver.exe
browser webdriver.Chrome(path)# url
url https://www.baidu.com
browser.get(url)import time
time.sleep(2)# 获取文本框的对象
input browser.find_element_by_id(kw)# 在文本框中输入周杰伦
input.send_keys(周杰伦)time.sleep(2)# 获取百度一下的按钮
button browser.find_element_by_id(su)# 点击按钮
button.click()time.sleep(2)# 滑到底部
js_bottom document.documentElement.scrollTop100000
browser.execute_script(js_bottom)time.sleep(2)# 获取下一页的按钮
next browser.find_element_by_xpath(//a[classn])# 点击下一页
next.click()time.sleep(2)# 回到上一页
browser.back()time.sleep(2)# 回去
browser.forward()time.sleep(3)# 退出
browser.quit()