最新公告
  • 欢迎您光临【搜客网】,本站秉承服务宗旨:销售只是起点,服务永无止境!立即加入我们
  • 使用Selenium WebDriver轻松模拟网站登录流程 (使用SELECT语句随机地从表中挑出指定数量的行)

    使用 SELECT 语句从表中随机选择特定数量的行

    Selenium WebDriver 是一个强大的库,用于自动化 Web 浏览器的操作。我们可以使用它来执行各种任务,如填充表单、单击按钮和解析页面内容。

    在这个教程中,我们将展示如何使用 Selenium WebDriver 模拟网站登录流程。我们还将使用 SELECT 语句从表中随机选择指定数量的行。

    先决条件

    • 安装 Python
    • 安装 Selenium WebDriver
    • 安装 MySQL Connector/Python(如果您使用的是 MySQL 数据库)

    步骤

    1. 导入必要的库。
    2. 使用 WebDriver 打开浏览器。
    3. 导航到登录页面。
    4. 使用 SELECT 语句从表中随机选择指定数量的行。
    5. 使用随机用户名和密码填充登录表单。
    6. 单击登录按钮。
    7. 验证是否成功登录。
    8. 关闭浏览器。

    代码

    “`pythonfrom selenium import webdriverfrom selenium.webdriver.common.by import Byimport mysql.connector打开浏览器driver = webdriver.Chrome()导航到登录页面driver.get(“https://example.com/login”)使用 SELECT 语句从表中随机选择指定数量的行cnx = mysql.connector.connect(user=”root”, password=”password”, host=”localhost”, database=”database_name”)cursor = cnx.cursor()cursor.execute(“SELECT username, password FROM users ORDER BY RAND() LIMIT 1”)result = cursor.fetchone()cnx.close()使用随机用户名和密码填充登录表单username_input = driver.find_element(By.ID, “username”)username_input.send_keys(result[0])password_input = driver.find_element(By.ID, “password”)password_input.send_keys(result[1])单击登录按钮login_button = driver.find_element(By.ID, “login-button”)login_button.click()验证是否成功登录if driver.current_url == “https://example.com/home”:print(“登录成功”)else:print(“登录失败”)关闭浏览器driver.close()“`

    总结

    我们已经展示了如何使用 Selenium WebDriver 模拟网站登录过程。我们还展示了如何使用 SELECT 语句从表中随机选择指定数量的行。这些技术对于自动化 Web 任务和测试网站很有用。


    怎么用python爬需要登录的网站数据

    LoginSpider():name = login_spiderstart_urls = []def parse(self, response):return [_response(response,# username和password要根据实际页面的表单的name字段进行修改formdata={username: your_username, password: your_password},callback=_login)]def after_login(self, response):# 登录后的代码passselenium登录获取cookieget_cookie_by_ pickleimport timefrom selenium import webdriverdef get_cookies():url = _driver = ()web_(url)username = web__element_by_id(login-email)_keys(username)password = web__element_by_id(login-password)_keys(password)login_button = web__element_by_id(login-submit)login_()(3)cookies = web__cookies()web_()return cookiesif __name__ == __main__:cookies = get_cookies()(cookies, open(, wb))获取浏览器cookie(以Ubuntu的Firefox为例)get_cookie_by_ sqlite3import pickledef get_cookie_by_firefox():cookie_path = /home/name//firefox// (cookie_path) as conn:sql = select name,value from moz_cookies where baseDomain= = ()cookies = [{name: name, value: value} for name, value in (sql)()]return cookiesif __name__ == __main__:cookies = get_cookie_from_firefox()(cookies, open(, wb))6scrapy使用获取后的cookiecookies = (open(, rb))yield (url, cookies=cookies, callback=)12requests使用获取后的cookiecookies = (open(, rb))s = ()for cookie in (cookie[name], cookie[value])1234selenium使用获取后的cookiefrom selenium import webdrivercookies = (open(, rb))w = ()# 直接添加cookie会报错,下面是一种解决方案,可能有更好的# — start ()_all_cookies()# — end –for cookie in _cookie(cookie)

    如何优雅地使用python采集阿里巴巴百万商户信息

    使用SELECT语句随机地从表中挑出指定数量的行

    Sublime是一款轻量文本编辑工具,可以用来快速编写python脚本,这里就不多作介绍,详情自己网络。

    本期所需的工具包是selenium,用户需要自行安装,可以通过pip命令快速安装selenium,如下:因为本人先前已经成功安装selenium,所以这里提示“已经安装成功”,当然要使用pip命令,必须提前安装pip,自行网络,用户安装完上面的所有工具后我们就可以开始本期的装逼之旅了。

    第一步、查看网页,确定抓取范围。

    我们打开阿里巴巴采购首页,我们发现阿里巴巴提供了厂商的搜索接口,如下所示:第二步、我们试着搜索“化工”,查看得到的结果,如下:第三步、我们可以看到,我们要的基本信息都存在了,但是联系方式没有,我们任意打开一个厂商的页面,可以看到“联系”这个导航栏项目,点击联系,就可以看到厂商的联系方式,我们在将注意力放到网址url上,我们可以看到,联系这个页面的URL呈现规律性,如/page/,并且联系电话的位置是最前的,这极大地方便了我们采集我们想要的信息,如下:第四步、啰嗦了那么多,直接开始我们的代码:首先使用python的selenium包打开一个Firefox浏览器窗口#! /usr/bin/env python#coding:utf-8from selenium import webdriverimport sys# 解决中文报错的问题reload(sys)(utf-8)driver = ()以上程序就可以打开Firefox浏览器窗口,并且打开的浏览器窗口对象为driver,接下来我们模拟登录,找到阿里巴巴模拟登录的地址为,我们通这个地址模拟登录,并通过selenium的find_element_by_name方法获取网页中的DOM节点,有学过JavaScript的同学应该就会了解DOM节点,具体的代码如下url = k.635..d1loginUrl = t=true&redirect_url=3Dlogin_target_is_blank_1688%26tracelog%3Dmember_signout_signin_s_regdriver = ()(3)(loginUrl)(5)_element_by_name(TPL_username)_keys(这里是你的淘宝账号)_element_by_name(TPL_password)_keys(这里是你的淘宝密码)_element_by_name(TPL_password)_keys()(5)(url)模拟登录成功后我们让页面自动跳转到我们刚才搜索“化工”厂商的那个页面,其中使用了time包里的sleep函数,是为了防止在网速较差的时候,网页加载速度较慢,源码还未下载完毕就执行查找节点的命令导致程序运行失败。

    接下来我们要做的是查找厂商的主页并找到其联系方式,并且发现厂商找到的结果共有100页,在这里,为了使用方便,我们直接使用for循环来模拟点击下一页进行采集。

    具体的所有源代码如下所示#! /usr/bin/env python#coding:utf-8from selenium import webdriverfrom import Keysfrom _chains import ActionChainsimport timeimport urllibimport urllib2import sysimport osimport reimport csvimport numpy as np# 解决中文报错的问题reload(sys)(utf-8)csvfile = file(, wb)writer = (csvfile)((u企业名称(gbk), u主(gbk), u产品(gbk), u联系人(gbk), u电话(gbk), u(gbk)))url = 635..d1loginUrl = full_redirect=true&redirect_url=_is_blank_1688%26tracelog%3Dmember_signout_signin_s_regdriver = ()(3)(loginUrl)(5)_element_by_name(TPL_username)_keys(这里输入你的淘宝账号)_element_by_name(TPL_password)_keys(这里输入你的淘宝密码)_element_by_name(TPL_password)_keys()(5)(url)(15)user_agents = [Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/ Firefox/2.0.0.11,Opera/9.25 (Windows NT 5.1; U; en),Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; CLR 1.1.4322; CLR 2.0.),Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.5 (like Gecko) (Kubuntu),Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/ Ubuntu/dapper-security Firefox/1.5.0.12,Lynx/2.8.5rel.1 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/1.2.9,Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.7 (KHTML, like Gecko) Ubuntu/11.04 Chromium/16.0.912.77 Chrome/16.0.912.77 Safari/535.7,Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:10.0) Gecko/ Firefox/10.0 ,]for page in xrange(1, 100):try:title = _elements_by_css_selector(a[class=list-item-title-text])product = _elements_by_xpath(//div[@class=\list-item-detail\]/div[1]/div[1]/a[1])print len(title)pattern = (<div.*?>(.*?)</div>, re.S)telPattern = (<dd>(.*?)</dd>, re.S)membernamePattern = (<a.*?class=membername.*?>(.*?)</a>, re.S)addressPattern = (address>(.*?)</dd>, re.S)for i in xrange(len(title)):titleValue = title[i]_attribute(title)hrefValue = title[i]_attribute(href) + page/ = product[i] = (user_agents)headers = {User-Agent : agent, Accept : */*, Referer : }request = (hrefValue, headers=headers)response = (request)html = ()info = (pattern, html)try:info = info[0]except Exception, e:continuetel = (telPattern, info)try:tel = tel[0]tel = ()tel = ( , -)except Exception, e:continuemembername = (membernamePattern, html)try:membername = membername[0]membername = ()except Exception, e:continueaddress = (addressPattern, html)try:address = address[0]address = ()except Exception, e:address = print tel: + telprint membername: + membernamedata = ((gbk, ignore), title[i]_attribute(href), (gbk, ignore), membername, tel, address)(data)for t in title:print _attribute(title)print _attribute(href) + page/ len(product)for p in product:a = repr()a = (gbk, ignore)print aprint # * 50js = var q==_script(js)(2)page = _elements_by_css_selector(a[class=page-next])page = page[0]()(10)except Exception, e:print ()()

    python selenium drag_and_drop()和drag_and_drop_with_offset()怎么使用?

    用selenium做自动化,有时候会遇到需要模拟鼠标操作才能进行的情况,比如单击、双击、点击鼠标右键、拖拽等等。而selenium给我们提供了一个类来处理这类事件——ActionChains

    这个类基本能够满足我们所有对鼠标操作的需求。

    基本用法

    首先需要了解ActionChains的执行原理,当你调用ActionChains的方法时,不会立即执行,而是会将所有的操作按顺序存放在一个队列里,当你调用perform()方法时,队列中的时间会依次执行。

    这种情况下我们可以有两种调用方法:

    【搜客网】_全网激活码总代_激活码商城【www.wxzygp.com】
    【搜客吧】_激活码商城_微商营销货源站 » 使用Selenium WebDriver轻松模拟网站登录流程 (使用SELECT语句随机地从表中挑出指定数量的行)

    常见问题FAQ

    本站资源可以代理扶持吗?有没有售后和技术支持?
    具体请参照:https://www.wxzygp.com/345.html
    遇到问题无法解决怎么办?
    解决方案:https://www.wxzygp.com/343.html
    免费下载或者VIP会员资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    购买该资源后,可以退款吗?
    本站均属于虚拟商品,具有可复制性,可传播性。一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好是您所需要的资源!

    发表评论

    售后服务:

    • 售后服务范围 1、保证软件可以正常安装
      2、本站所出卡密正常激活
      3、单价超过50元的软件送免费远程服务,之后远程50/次
      付费增值服务 1、有偿指导软件安装、调试、疑难问题解决。
      2、承接各种系统建站、仿站、开发、定制以及服务器环境配置相关问题。
      3、资源共享,货源对接、铺货、上架、售后、销售一条龙服务。
      4、有偿教学各平台营销技术,诸如:百度霸屏、公众号、百度SEO,SEM,贴吧引流等。
      售后服务时间 周一至周日(法定节假日除外) 9:00-22:00
      免责声明 本站内容均来源于互联网,仅供参考学习,如若本站信息有侵犯到您的知识产权或任何利益,请联系我们删除(Email: [email protected]),本平台不负任何相关责任

    Hi, 如果你对代理感兴趣,可以跟我联系哦!

    联系我们
    • 10407会员总数(位)
    • 32631资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 1506稳定运行(天)

    【搜客网】_全网激活码总代_激活码商城

    立即查看 了解详情
    升级SVIP尊享更多特权立即升级