当前位置: 首页 > news >正文

网站建设类公电商网站前端制作分工

网站建设类公,电商网站前端制作分工,公司起名大全免费版,东城网站开发selenium是一个Web的自动化测试工具#xff0c;最初是为网站自动化测试而开发的。Selenium可以直接调用浏览器#xff0c;它支持所有主流的浏览器。其本质是通过驱动浏览器#xff0c;完成模拟浏览器操作#xff0c;比如挑战#xff0c;输入#xff0c;点击等。 下载与打…selenium是一个Web的自动化测试工具最初是为网站自动化测试而开发的。Selenium可以直接调用浏览器它支持所有主流的浏览器。其本质是通过驱动浏览器完成模拟浏览器操作比如挑战输入点击等。 下载与打开 下载链接CNPM Binaries Mirror 找到与自己的谷歌浏览器版本最接近的。 然后点击下载里面win32.zip即可 下载的压缩包解压完成后的内容放到python的安装路径。 python安装路径可以运行一个空的py文件第一行的第一个路径就是你的python解释器安装路径 cmd命令提示符中pip install selenium3.141.0 卸载pip uninstall 模块名 from selenium import webdriver # 导入其中的webdriver来驱动浏览器 url https://www.baidu.com/ # 启动谷歌浏览器 driver webdriver.Chrome() # 在地址栏输入网址 driver.get(url) 可以打开网页了。 不过可能会报错。根据报错内容查看是哪里出现了问题 问题一下载的selenium与urllib3不兼容 解决方式cmd中输入pip install selenium3.141.0和pip install urllib31.26.2问题二谷歌浏览器与下载的chromedriver驱动版本不一致 解决方式右上角三个点--帮助--关于--找到自己浏览器的版本再对应下载驱动 浏览器对象 get(urlurl)地址栏--输入url地址并确认 page_sourceHTML结构源码 maxmize_window浏览器窗口最大化 quit()关闭浏览器窗口 from selenium import webdriver # 导入其中的webdriver来驱动浏览器 url https://www.baidu.com/ # 启动谷歌浏览器 driver webdriver.Chrome() # 在地址栏输入网址 driver.get(url) driver.maximize_window() # 将浏览器窗口最大化 print(driver.page_source) # 打印请求头 driver.quit() # 关掉浏览器 Selenium定位元素 from selenium.webdriver.common.by import By find_element(By.ID, 根据标签id属性进行定位)find_element(By.NAME, 根据标签name属性进行定位)find_element(By.CLASS_NAME, 根据标签class属性进行定位)find_element(By.XPATH, 根据xpath语法进行定位)find_element(By.CSS_SELECTOR, 根据css语法进行定位)find_element(By.LINK_TEXT, 根据标签文本内容进行定位) from selenium import webdriver from selenium.webdriver.common.by import Byurl https://www.baidu.com/ driver webdriver.Chrome() driver.get(url) driver.maximize_window()driver.find_element(By.ID, kw).send_keys(CSDN) # 在搜索框上输入CSDN driver.find_element(By.ID, su).click() # 点击搜索 无界面模式 from selenium import webdriver options webdriver.ChromeOptions() # 添加无界面参数 options.add_argument(--headless) browser webdriver.Chrome(optionsoptions) import timefrom selenium import webdriver from selenium.webdriver.common.by import Byurl https://www.jd.com/?cutrueutm_sourcebaidu-pinzhuanutm_mediumcpcutm_campaignt_288551095_baidupinzhuanutm_term0f3d30c8dba7459bb52f2eb5eba8ac7d_0_4f2b917133dd438ab114acdc46cd0f2coptions webdriver.ChromeOptions() # 添加无界面参数 options.add_argument(--headless) driver webdriver.Chrome(optionsoptions)driver.get(url) driver.execute_script(window.scrollTo(500, document.body.scrollHeight) ) time.sleep(2) li_list driver.find_elements(By.XPATH, //div[idJ_feeds]/ul/li)i 0 for li in li_list:print(li.text)print(**30)i 1 print(i) # * 打开新窗口和切换页面 通过excute_script()来执行js脚本的形式来打开新窗口。 window.excute_script(window.open(https://www.douban.com)) 打开新窗口后driver当前的页面依然是之前的。 如果想获取新窗口的源代码就必须先切换过去 window.switch_to.window(driver.window_handles[1]) from selenium import webdriver url https://www.baidu.com/ driver webdriver.Chrome() driver.get(url) driver.maximize_window()js open(https://www.douban.com/) driver.execute_script(js)print(driver.page_source) # 获取到的是百度页面的信息 driver.quit() 切换 from selenium import webdriver url https://www.baidu.com/ driver webdriver.Chrome() driver.get(url) driver.maximize_window()js open(https://www.douban.com/) driver.execute_script(js)driver.switch_to_window(js) # print(driver.window_handles) print(driver.page_source) driver.quit() import time from selenium import webdriver from selenium.webdriver.common.by import Byclass JdSpider():def __init__(self):self.url https://search.jd.com/Search?keyword%E6%95%B0%E7%A0%81encutf-8wq%E6%95%B0%E7%A0%81pvid34b0fcf7ed434840a74c057bc97be346self.driver webdriver.Chrome()def get_url(self):self.driver.get(self.url)self.driver.execute_script(window.scrollTo(0, document.body.scrollHeight))time.sleep(2)li_list self.driver.find_elements(By.XPATH, //div[idJ_goodsList]/ul/li)detail_urls []for li in li_list:a li.find_element(By.XPATH, .//a)detail_urls.append(a.get_attribute(href))for detail_url in detail_urls:js fopen({detail_url})self.driver.execute_script(js)self.driver.switch_to_window(self.driver.window_handles[1])time.sleep(2)self.get_detail()self.driver.close()self.driver.switch_to_window(self.driver.window_handles[0])def get_detail(self):print(获取详情)name self.driver.find_element(By.CSS_SELECTOR, body div:nth-child(10) div div.itemInfo-wrap div.sku-name).textprint(name)if __name__ __main__:spider JdSpider()spider.get_url() # * selenium-iframe 网页中嵌套了网页先切换到iframe再执行其他操作 切换到要处理的iframe browaer.switch_to.frame(frame节点对象) from selenium import webdriver from selenium.webdriver.common.by import By import infosurl https://douban.com/driver webdriver.Chrome() driver.get(url)iframe driver.find_element(By.XPATH, //div[classlogin]/iframe) # print(iframe)driver.switch_to.frame(iframe) # 切进来 # 点击密码登录 driver.find_element(By.XPATH, /html/body/div[1]/div[1]/ul[1]/li[2]).click() # 输入账号密码 driver.find_element(By.XPATH, //*[idusername]).send_keys(infos.username) driver.find_element(By.XPATH, //*[idpassword]).send_keys(infos.username) # 点击登录 driver.find_element(By.XPATH, /html/body/div[1]/div[2]/div[1]/div[5]/a).click() 验证码处理 数字验证码 img driver.find_element(By.XPATH, 复制验证码所在代码段的XPATH(右击--copy)) img.screenshot(1.png)     # 将图片截取下来 【网站www.ttshitu.com---登录--开发文档--python--可以找到相应代码】 def base64_api(uname, pwd, img, typeid):with open(img, rb) as f:base64_data base64.b64encode(f.read())b64 base64_data.decode()data {username: uname, password: pwd, typeid: typeid, image: b64}result json.loads(requests.post(http://api.ttshitu.com/predict, jsondata).text)if result[success]:return result[data][result]else:return result[message] img_path 1.jpg result base64_api(uname你的账号, pwd你的密码, imgimg_path, typeid3) print(result) # 记得导包滑动验证码  button driver.find_element(By.CSS_SELECTOR, 复制验证码所在代码的CSS路径)action ActionChains(driver) action.click_and_hold(button).perform() # 点击且不松开action.move_by_offset(int(result) - 30, 0) # 滑块与左边框距离30 action.release().perform()selenium翻页操作 取到第一页数据 from selenium import webdriver from selenium.webdriver.common.by import Byurl https://www.maoyan.com/board/4?offset0driver webdriver.Chrome() driver.get(url)driver.maximize_window()dds driver.find_elements(By.XPATH, //*[idapp]/div/div/div[1]/dl/dd)for dd in dds:print(dd.text.split(\n))print(-*30) 翻页爬取 from selenium import webdriver from selenium.webdriver.common.by import Byurl https://www.maoyan.com/board/4?offset0option webdriver.ChromeOptions() option.add_argument(--headless) # 加上这两句就不会弹出页面了无头模式当然也可以不添加driver webdriver.Chrome() driver.get(url)driver.maximize_window()dds driver.find_elements(By.XPATH, //*[idapp]/div/div/div[1]/dl/dd)def get_data():一页的数据dds driver.find_elements(By.XPATH, //*[idapp]/div/div/div[1]/dl/dd)for dd in dds:print(dd.text.split(\n))print(- * 30)while True:get_data()try:driver.find_element(By.LINK_TEXT, 下一页).click() # 点击下一页的文本except Exception as e: # 做异常处理数据爬取100个后就没有下一页会报错的print(e)print(数据爬取完成) # 没有下一页代表完成driver.quit()break 操作cookie 获取cookiedriver.get_cookies() 根据cookie的key获取valuevaluedriver.get_cookie(key) 删除所有的cookiedriver.delete_all_cookies() 删除某个cookiedriver.delete_cookie(key) import time from selenium import webdriver from selenium.webdriver.common.by import By import infosurl https://douban.com/driver webdriver.Chrome() driver.get(url)iframe driver.find_element(By.XPATH, //div[classlogin]/iframe) # print(iframe)driver.switch_to.frame(iframe) # 切进来 # 点击密码登录 driver.find_element(By.XPATH, /html/body/div[1]/div[1]/ul[1]/li[2]).click() # 输入账号密码 driver.find_element(By.XPATH, //*[idusername]).send_keys(infos.username) driver.find_element(By.XPATH, //*[idpassword]).send_keys(infos.password) # 点击登录 driver.find_element(By.XPATH, /html/body/div[1]/div[2]/div[1]/div[5]/a).click()time.sleep(20) cookies driver.get_cookies()cookies_dict {} for cookie in cookies:name cookie[name]value cookie[value]cookies_dict[name] valueurl https://douban.com/import requestsheaders {User-Agent: # 将User-Agent复制过来 } print(requests.get(url, cookiescookies_dict, headersheaders).text) # 获取到登陆后的数据隐式等待和显式等待  隐式等待指定一个时间在这个时间内会一直处于等待状态。使用driver.implicitly_wait 显式等待指定在某个时间内如果某个条件满足了就不会在等待。使用from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as ECdriver webdriver.Chrome() driver.get(https://www.baidu.com) # 隐式等待后续的标签定位都会建立在5秒之内 # 后续的某个标签在5秒内加载出来就进行爬取否则继续下一页 driver.implicitly_wait(5)# 显式等待针对某一个标签定位 WebDriverWait(driver, 10).until(EC.presence_of_all_elements_located((By.LINK_TEXT, 地图)) ).click()
http://www.pierceye.com/news/460682/

相关文章:

  • 大庆市建设局网站上不去linux删除WordPress
  • 宣城市建设监督管理局网站下载怎么上wordpress
  • 福州做网站fjfzwl编写软件开发文档
  • 平台设计网站公司电话号码建站哪家好用兴田德润
  • 宝安网站建设信科免费网站开发 自动填写表单
  • 网站怎么更新文章动漫网站在线免费观看
  • 织梦 网站迁移网页制作三剑客通常指
  • 南京本地网站建站武安百度seo
  • 特定ip段访问网站代码西安免费建网站设计
  • 个人网站备案取消wordpress可以做大吗
  • 如何做网站管理网站服务器基本配置
  • 做网站需要参考书目书龙岩营销型网站建设
  • 南通网站建设解决方案求助如何做网站推广
  • 揭阳企业做网站淮安做网站
  • 怎么给餐饮店做网站用织梦做企业网站
  • 技术支持 创思佳网站建设如何制作自己的网站
  • 济南网站建设公司晟创未来wordpress xml插件
  • 前端做商城网站需要多久实训课网站开发个人小结
  • 南宁网站seo排名优化手机网站制作架构
  • 亿唐网不做网站做品牌案例分析seo 推广服务
  • 深圳网站建设服务器如何编写一份网站开发需求文档
  • 营销网站策划wordpress主题在线汉化插件下载
  • 深圳市网站开发个人养老保险金怎么交
  • 超炫html5网站模板新手做网站怎么上传系统
  • 一个网站的二级目录在另一台服务器上_怎么做网络营销工程师前景
  • 个人网站推广软件企业网站建设变相收取等级保护费6
  • 有没有一些网站可以做问卷个人网站 服务器
  • 网站前端WordPress怎么自定义页眉
  • 常州企业免费建站秦皇岛市住房公积金管理中心
  • 网站建设网站需要什么软件有哪些使用wordpress开发一个页面