Giter Site home page Giter Site logo

g1879 / drissionpage Goto Github PK

View Code? Open in Web Editor NEW
5.2K 144.0 523.0 2.79 MB

基于python的网页自动化工具。既能控制浏览器,也能收发数据包。可兼顾浏览器自动化的便利性和requests的高效率。功能强大,内置无数人性化设计和便捷功能。语法简洁而优雅,代码量少。

Home Page: http://g1879.gitee.io/drissionpagedocs

License: BSD 3-Clause "New" or "Revised" License

Python 100.00%
selenium-python crawlers automation-framework requests

drissionpage's People

Contributors

g1879 avatar lxl66566 avatar pedro-peixot0 avatar y0un9kane avatar yongchin0821 avatar young-lord avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

drissionpage's Issues

启动浏览器失败

Starting ChromeDriver 109.0.5414.74 (e7c5703604daa9cc128ccf5a5d3e993513758913-refs/branch-heads/5414@{#1172}) on port 9515
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
IPv6 port not available. Exiting...
[1675218601.404][SEVERE]: bind() returned an error: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 (0x2740)

_

_

缓存文件的问题

操作系统: windows 10
python版本: 3.9

我使用有时效的代理,每次都开多个实例,发现C盘莫名其妙的满了,跟踪源码发现会创建缓存文件,user_data之类的数据,我主动设置user_data的位置后,发现还是会吃C盘空间,但是又找不到生成文件的地方。

How to avoid Cloudflare challenge page ?

I am using DrissonPage to crawl through a job posting site. I have used ChromePage() object and ChromiumOptions() object to build page object to manipulate the page elements. I haved added some code to click on the Cloudflare challenge. Initially, it was successfully passing the challenge. However, Now, this is not working, It can not identify the checkbox input and click on it ? Do anyone have faced similar issues ?

Proxy auth support?

I was looking trough docs and i only saw proxy support without auth, is there a way to add them with auth? etc: ip:port@user:pass

请问是怎么做到这么真实的

昨天才知道的DrissionPage,对比同一个chrome.exe同一个网站,昨天网站加了最高限制的Cloudflare ,会一直检查站点连接是否安全,全军覆没。今天网站下调了防护级别,DrissionPage可以正常访问,puppeteer可以访问但是被网站重定向到首页,Jvppeteer会被识别到卡在验证页面。可惜我不会python,看不懂是怎么操作的。目前是在使用抓包工具来比较。。

how to click on an item of list !

Assuming the following <select> elements, the following example is based on this:

<select id='s' multiple>
    <option value='value1'>text1</option>
    <option value='value2'>text2</option>
    <option value='value3'>text3</option>
</select>

how do I click on text2? I don't want to use select() function , I need to click on it so some ajax data would load afterward

设置Cookies 无效

Cookies 是HttpOnly 的 ,设置无效 ,但是使用selenium 设置,然后刷新页面 就有效

Remove DevTools message

Hello,

thanks a lot for the package, it is really amazing! Do you know how I could remove the "DevTools listening on ..." message and the return line just before ?

Thank you!

ChromiumPage 浏览器启动后报错websocket._exceptions.WebSocketBadStatusException: Handshake status 403 Forbidden

# 导入
from DrissionPage import ChromiumPage

# 创建对象
page = ChromiumPage()
# 访问网页
page.get('https://www.baidu.com')
# 输入文本
page('#kw').input('DrissionPage')
# 点击按钮
page('#su').click()
# 等待页面跳转
page.wait.load_start()
# 获取所有结果
links = page.eles('tag:h3')
# 遍历并打印结果
for link in links:
    print(link.text)

run EROR

D:\wu\Desktop\project\pythonProject\env\Scripts\python.exe D:/wu/Desktop/project/pythonProject/main.py
Traceback (most recent call last):
  File "D:\wu\Desktop\project\pythonProject\main.py", line 5, in <module>
    page = ChromiumPage()
  File "D:\wu\Desktop\project\pythonProject\env\lib\site-packages\DrissionPage\chromium_page.py", line 29, in __init__
    super().__init__(addr_driver_opts, tab_id, timeout)
  File "D:\wu\Desktop\project\pythonProject\env\lib\site-packages\DrissionPage\chromium_base.py", line 33, in __init__
    self._connect_browser(address, tab_id)
  File "D:\wu\Desktop\project\pythonProject\env\lib\site-packages\DrissionPage\chromium_page.py", line 75, in _connect_browser
    self._init_page(tab_id)
  File "D:\wu\Desktop\project\pythonProject\env\lib\site-packages\DrissionPage\chromium_page.py", line 85, in _init_page
    super()._init_page(tab_id)
  File "D:\wu\Desktop\project\pythonProject\env\lib\site-packages\DrissionPage\chromium_base.py", line 68, in _init_page
    self._tab_obj.start()
  File "D:\wu\Desktop\project\pythonProject\env\lib\site-packages\DrissionPage\chromium_driver.py", line 183, in start
    self._ws = create_connection(self._websocket_url, enable_multithread=True)
  File "D:\wu\Desktop\project\pythonProject\env\lib\site-packages\websocket\_core.py", line 608, in create_connection
    websock.connect(url, **options)
  File "D:\wu\Desktop\project\pythonProject\env\lib\site-packages\websocket\_core.py", line 253, in connect
    self.handshake_response = handshake(self.sock, url, *addrs, **options)
  File "D:\wu\Desktop\project\pythonProject\env\lib\site-packages\websocket\_handshake.py", line 57, in handshake
    status, resp = _get_resp_headers(sock)
  File "D:\wu\Desktop\project\pythonProject\env\lib\site-packages\websocket\_handshake.py", line 147, in _get_resp_headers
    raise WebSocketBadStatusException("Handshake status %d %s", status, status_message, resp_headers)
websocket._exceptions.WebSocketBadStatusException: Handshake status 403 Forbidden

Process finished with exit code 1

谷歌浏览器 版本 112.0.5615.140(正式版本) (64 位)
Python 3.9.10 (64 位)

浏览器打开后就报错

DrissionPage.errors.JavaScriptError: javascript运行错误:

code:
a = page.run_js(script='''var t=Object.keys(window).find(function(name) {
return name.startsWith("flashvars_")
});window[t].mediaDefinitions[0].videoUrl;

File "C:\Users\23613\Desktop\autobot\mybot\main.py", line 53, in send_video
a = page.run_js(script='''var t=Object.keys(window).find(function(name) {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\23613.conda\envs\tebot\Lib\site-packages\DrissionPage\chromium_base.py", line 419, in run_js
return run_js(self, script, as_expr, self.timeouts.script, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\23613.conda\envs\tebot\Lib\site-packages\DrissionPage\chromium_element.py", line 1281, in run_js
raise JavaScriptError(f'\njavascript运行错误:\n{script}\n错误信息: \n{exceptionDetails}')
DrissionPage.errors.JavaScriptError:
javascript运行错误:
var t=Object.keys(window).find(function(name) {
return name.startsWith("flashvars_")
});window[t].mediaDefinitions[0].videoUrl;

错误信息:
{'exceptionId': 2, 'text': 'Uncaught', 'lineNumber': 2, 'columnNumber': 17, 'scriptId': '588', 'exception': {'type': 'object', 'subtype': 'error', 'className': 'TypeError', 'description': "TypeError: Cannot read properties of undefined (reading 'mediaDefinitions')\n at :3:18", 'objectId': '4368662864434784137.9.3'}}
请问这是什么错误,怎样解决?

websocket._exceptions.WebSocketBadStatusException: Handshake status 403 Forbidden

我想远程控制已经打开的浏览器,使用cdp协议
然后出现这个报错
这是代码
`from DrissionPage import WebPage, ChromiumOptions

co = ChromiumOptions()
debugger_port = 55556
co.debugger_address = f"http://127.0.0.1:{debugger_port}"
page = WebPage(driver_or_options=co)
`

报错为
Traceback (most recent call last): File "C:\Users\Administrator\Desktop\auto-login-tool\fp_dp.py", line 6, in <module> page = WebPage(driver_or_options=co) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\DrissionPage\web_page.py", line 54, in __init__ self._connect_browser() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\DrissionPage\chromium_page.py", line 89, in _connect_browser self._driver_init(tab_id) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\DrissionPage\chromium_base.py", line 100, in _driver_init self._tab_obj.start() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\DrissionPage\chromium_driver.py", line 200, in start self._ws = create_connection(self._websocket_url, enable_multithread=True) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\websocket\_core.py", line 608, in create_connection websock.connect(url, **options) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\websocket\_core.py", line 253, in connect self.handshake_response = handshake(self.sock, url, *addrs, **options) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\websocket\_handshake.py", line 57, in handshake status, resp = _get_resp_headers(sock) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\site-packages\websocket\_handshake.py", line 147, in _get_resp_headers raise WebSocketBadStatusException("Handshake status %d %s", status, status_message, resp_headers) websocket._exceptions.WebSocketBadStatusException: Handshake status 403 Forbidden

我得chrome浏览器版本为
Chromium 112.0.5615.63 (正式版本) (64 位)
修订版本 ab434de021fb61599dc448cbef23d3ca268dd95f-refs/branch-heads/5615@{#1143}
操作系统 Windows Server OS Version 1809 (Build 17763.1554)
JavaScript V8 11.2.214.13
用户代理 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36

How using move_to()

I have captcha. and i have posstion X, Y in image Captcha
how to move_to X, Y in image captcha and click?
tks for support

启动浏览器失败

按文档设置了chrome.exe路径并添加配置成功,执行
page = ChromiumPage()
page.get('http://g1879.gitee.io/DrissionPageDocs')
报错PermissionError: [WinError 5] 拒绝访问。
查看python.exe右键属性安全里所有权限都勾上了,chrome.exe权限也都勾上了,还是失败

安装时报错:Could not find a version that satisfies the requirement click~=8.1.3 (from DrissionPage)

你好,请问在安装时报以下错误,是什么问题?
指定固定版本安装也是一样的(pip install DrissionPage==3.2.24 --upgrade)
pip install DrissionPage

Collecting DrissionPage
Using cached https://files.pythonhosted.org/packages/db/a5/9731a011f010377d4dc1395651f25e2a6e3559f01564101b348f402f47ae/DrissionPage-3.2.26-py3-none-any.whl
Collecting lxml (from DrissionPage)
Using cached https://files.pythonhosted.org/packages/96/57/1f945e3f8068a5b2a299a10946dfe0c192c701bd707d2bada0e81c0067eb/lxml-4.9.2-cp36-cp36m-win_amd64.whl
Collecting websocket-client (from DrissionPage)
Using cached https://files.pythonhosted.org/packages/35/21/8614b6de7c35d0bc584da13c45b8b08e404eee28a0504c1d00f5e1aa0a23/websocket_client-1.3.1-py3-none-any.whl
Collecting click~=8.1.3 (from DrissionPage)
Could not find a version that satisfies the requirement click~=8.1.3 (from DrissionPage) (from versions: 0.1, 0.2, 0.3, 0.4, 0.5, 0.5.1, 0.6, 0.7, 1.0, 1.1, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 3.0, 3.1, 3.2, 3.3, 4.0, 4.1, 5.0, 5.1, 6.0, 6.1, 6.2, 6.3, 6.4, 6.5, 6.6, 6.7.dev0, 6.7, 7.0, 7.1, 7.1.1, 7.1.2, 8.0.0a1, 8.0.0rc1, 8.0.0, 8.0.1, 8.0.2, 8.0.3, 8.0.4)
No matching distribution found for click~=8.1.3 (from DrissionPage)
You are using pip version 18.1, however version 21.3.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

无法适应mac系统的调试

drission.py中读了一遍,发现path写的有点死,用的是chrome.exe
目前mac中chrome的路径是/Applications/Google Chrome.app/Contents/MacOS/Google Chrome(无后缀)
标准selenium强制制定是能认这个路径的。
目前阶段只能先用别的了。

Any way to capture websocket messages through network in devtools?

I'm using the latest version of DrissionPage and I cannot seem to find a function to record websocket messages, maybe there is a way to add chrome desired capabilities and record performance logs to see all the network logs but I cannot find anything regarding this in the documentation.

Get Request Header with Listener

I use a

from DrissionPage.tools import Listener

listener =Listener(9222) # 创建监听器,监听9222端口的浏览器
listener.set_targets('JobSearchResult.aspx') # 设置需要监听的url

listener.listen(count=10) # 开始监听,接收到10条目标url的请求后停止

for i in listener.steps():
print(i.body) # 打印实时打印监听到的内容

listener.stop() #停止监听

but can only get response header, how to get a request header ?

set.local_storage() & clear_cache() ARE NOT WORKING

Traceback (most recent call last):
File "C:\Users\Joy\Desktop\Testing\main.py", line 48, in
page.set.local_storage(item='token', value='MTE0MDMyNTIzMTI4NjgxMjc2Mw.GJjSgo.XXXXXXXXXXXXX')
File "C:\Python311\Lib\site-packages\DrissionPage\chromium_base.py", line 942, in local_storage
return self._page.run_js_loaded(js, as_expr=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python311\Lib\site-packages\DrissionPage\chromium_base.py", line 429, in run_js_loaded
return run_js(self, script, as_expr, self.timeouts.script, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python311\Lib\site-packages\DrissionPage\chromium_element.py", line 1283, in run_js
raise JavaScriptError(f'\njavascript运行错误:\n{script}\n错误信息: \n{exceptionDetails}')
DrissionPage.errors.JavaScriptError:
javascript运行错误:
localStorage.setItem("token","MTE0MDMyNTIzMTI4NjgxMjc2Mw.GJjSgo.XXXXXXXXXXXX");
错误信息:
{'exceptionId': 4, 'text': 'Uncaught', 'lineNumber': 0, 'columnNumber': 0, 'scriptId': '44', 'exception': {'type': 'object', 'subtype': 'error', 'className': 'ReferenceError', 'description': 'ReferenceError: localStorage is not defined\n at :1:1', 'objectId': '4185065306131059634.6.4'}}

能模拟手机端的浏览器内核吗?

除了user-agent ,还要 屏幕大小的设置,浏览器名称,浏览器版本号,屏幕密度,
等等
screen = {width: 390, availHeight: 844, height: 844, colorDepth: 32, pixelDepth: 32}; navigator = { appVersion: 'Mozilla', userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/XXXXX', vendor: 'Linux aarch64', appName: "Mozilla", cookieEnabled: true, languages: ['zh-CN'], platform: 'iPhone', hardwareConcurrency: undefined, };

Cloudflare blocked my request

image

After few days of successfully avoiding the cloudflare challenge page using this package, Now, I am getting this error page as response. Seems like, host site has temporarily blocked my IP address itself, though I am using proxy server to rotate IP address with each request. is there any solution to this ? Suggestions are appreciated.

能否添加页面加载状态的判断?

现在有wait.load_start()和wait.load_complete()两个页面加载状态的方法。
但是实际应用中页面加载完成可能的状态有:DOM构建完成,页面完全加载结束;DOM构建完成,JS动态加载中;DOM构建完成,JS动态加载数据完成。
在实际应用中发现DrissionPage的wait.load_complete()方法应该是以DOM构建完成即判断为加载完成,但实际很多网站会继续JS动态加载数据,所以wait.load_complete()后直接获取数据可能不完整。

puppeteer针对这种情况使用了几种判断,如下,感觉可以借鉴参考一下
`
await page.goto('https://www.baidu.com', {

timeout: 30 * 1000,

waitUntil: [

   'load',              // “load” 事件触发

   'domcontentloaded',  // “domcontentloaded” 事件触发

   'networkidle0',      //在 500ms 内没有任何网络连接

   'networkidle2'       //在 500ms 内网络连接个数不超过 2 个

]
});
`

监听问题

大哥,为什么有的网站监听不了呢
比如 douyin.com

标签页加载失败陷入死循环/等待过久

非常好用的工具,但是我在爬取某个网页的时候遇到程序运行停滞的情况,大概卡住了10个小时左右,后面经过排查,发现卡住的地方如下:

在DrissionPage\chromium_base.py中的stop_loading()函数定义中,这行可能会陷入死循环或者等待过久的时间,建议设置一个时间阈值
image

响应后赋予的问题

当我写了一段
eg:
a=page.ele('.xxxx')
a=b
c = b.ele('.xxx')
后报错 如果不将a赋予b下面的直接使用a.ele 这不会报错 望解答

Don't close the browser when script is exited

Hi
When running from windows if I close the script the browser continues it's life.
But in ubuntu and osx the browser closes as soon as the script is closed.
How can I avoid that?

session模式中跨域问题

有一个网站,某些接口强校验跨域,我首先使用d模式登录,拿到登录态,再切换到s模式后,请求接口就会跨域

考虑支持go语言吗

感谢作者开源,程序运行速度很快,如果能加上go语言的天然并发不得嘎嘎起飞?

I want my code to use drissionpage library rather than uc

I want my code to use drissionpage library rather than uc so if anyone can help me change the commandlines in my code from uc to that of drissionpage would help me a lot ....

    clear_console()
    print(mainbann)
    print(vivekop)
    driver.delete_cookie('connect.sid')
    driver.add_cookie(cookie)
    print("[+] Added Cookie To The Website")
    driver.refresh()
    print("[+] Successfully Logged To Top.gg")
    time.sleep(2)

    max_attempts = 3  # Maximum number of voting attempts
    max_total_attempts = 3  # Maximum number of total voting process attempts

    for total_attempt in range(1, max_total_attempts + 1):
        print(f"[+] Voting Attempt {total_attempt}/{max_total_attempts}")
        
        for vote_attempt in range(1, max_attempts + 1):
            try:
                voteBtn = WebDriverWait(driver, 7).until(EC.element_to_be_clickable((By.XPATH, ".//button[contains(text(),'Vote')]")))
                print("[+] Found Clickable Vote Button")
                time.sleep(1)

                action_chain = ActionChains(driver)
                action_chain.move_to_element(voteBtn)
                action_chain.click(voteBtn)
                action_chain.perform()
                print("[+] Successfully Clicked The Vote Button")
                time.sleep(1)

                try:
                    WebDriverWait(driver, 8, ignored_exceptions=(TimeoutException,)).until(EC.element_to_be_clickable((By.XPATH, ".//button[contains(text(),'Remind me')]")))
                    print("[+] Thanks For Voting Message Appeared")
                    print("[+] Successfully Voted The Stupid Bot !!")
                    send_discord_message(cookie.get('username'), success=True)
                    return
                except:
                    print("[-] Thanks For Voting message didn't appear after clicking the vote button.")
                    print("[-] Waiting for 35 seconds for captcha solving.")
                    time.sleep(6)

                try:
                    WebDriverWait(driver, 26).until(EC.element_to_be_clickable((By.XPATH, ".//button[contains(text(),'Remind me')]")))
                    print("[+] Thanks For Voting Message Appeared")
                    print("[+] Successfully Voted The Stupid Bot !!")
                    send_discord_message(cookie.get('username'), success=True)
                    return
                except:
                    print("[-] Failed to vote the stupid bot.")
                    send_discord_message(cookie.get('username'), success=False)
                    time.sleep(1)

            except:
                print("[-] Failed to find the vote button.")
                if vote_attempt < max_attempts:
                    print(f"[-] Retrying voting attempt {vote_attempt + 1}/{max_attempts}...")
                    driver.refresh()
                    time.sleep(4)

        # If all attempts fail for this voting process, wait for 35 seconds and retry the whole process
        print("[-] Voting process failed. Waiting for 35 seconds and retrying...")
        time.sleep(35)

    # If all attempts fail for all voting processes, print a final failure message and send Discord message
    print("[-] Failed to vote the stupid bot after multiple attempts.")
    send_discord_message(cookie.get('username'), success=False)```

text()和raw_text()方法在textarea区域的问题。

你好,

我在angular编写的页面里面抓取数据,但是遇到了以下问题。

我通过id定位到了textarea元素,然后使用text()方法,但是获取出来的文本,被格式化了。enter字符变成了\t。
于是我通过raw_text()方法去获取文本,但是无法获取文本,其他的textarea文本可以使用此方法获取,同一个页面,就是当前元素的上一个。

目前我selenium编写的text()方法可以正常获取,并且有原始文本格式。

请问这个问题,如何解决,望解答。

如何实现ctrl+F的功能

测试ctrl+A的功能是正常的,但我有个需求是使用chrome的内置搜索功能,该如何实现呢

No demos of code?

I was looking for code examples, like navigating through html classes inside a webpage and clicking objects.
I can't find any examples that could help.

I used the code below to try and get all child divs from the one provided by xpath but it is not working

` driver.get(link)

while True:
    try:
        ele = driver.eles('xpath://*[@id="content"]/div/div[3]/div[2]')
        print(ele[0].child())
        break
    except:
        time.sleep(.1) 

`

Potential issue - 117.0.5938.63 + headless.

Ever since I updated chrome (auto-update) to:117.0.5938.6

Headless mode is completely broken, as soon as I remove the headless flag, all is working fine.

This may just be an issue on my end, but if somebody could test, would be great.

I will close this issue if I manage to somehow figure out the issue.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.