我正在尝试为浏览器自动测试套件和能够抓取的无头浏览器平台列出可能的解决方案列表.
浏览器测试/清除:
JAVASCRIPT
Node.js的
我在使用安装在我的ubuntu 12.04机器上的nginx的特定目录时使用默认配置.
server {
#listen 80; ## listen for ipv4; this line is default and implied
#listen [::]:80 default ipv6only=on; ## listen for ipv6
index index.html index.htm;
# Make site accessible from http://localhost/
server_name localhost;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to index.html
root /username/test/static;
try_files $uri $uri/ /index.html;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}
...
...
}
Run Code Online (Sandbox Code Playgroud)
我只想要一个简单的静态nginx服务器来提供该目录之外的文件.但是,检查error.log
我看到了
2014/09/10 …
Run Code Online (Sandbox Code Playgroud) 给定一系列的int,arrayofints
找到最高的产品Highestproduct
,你可以得到三个整数.int的输入数组总是至少有三个整数.
所以我从中弹出了三个数字arrayofints
并将它们插入highestproduct
:
Highestproduct = arrayofints[:2]
for item in arrayofints[3:]:
If min(Highestproduct) < item:
Highestproduct[highestproduct.index(min(Highestproduct))] = item
Run Code Online (Sandbox Code Playgroud)
如果min
的highestproduct
不到项目:更换当前数量的最低数量.
这最终会产生最高的产品,但显然有更好的解决方案.我的做法有什么问题?我的解决方案是O(n)吗?
我首先通过OAuthCallback方法中的短信通道向用户发送主动消息
var connector = new ConnectorClient();
Message message = new Message();
message.From = new ChannelAccount { Id = Constants.botId, Address = "+12312311", ChannelId = "sms", IsBot = true };
message.To = new ChannelAccount { Id = newUserId, Address = "+18768763", ChannelId = "sms", IsBot = false };
message.Text = $"How are you doing? ";
message.Language = "en";
connector.Messages.SendMessage(message);
IBotData myDataBag = new JObjectBotData(message);
myDataBag.UserData.SetValue("Username", "Bob");
myDataBag.PerUserInConversationData.SetValue("Newuser", "yes");
Run Code Online (Sandbox Code Playgroud)
然后在我的主Dialog.cs中尝试访问它
public static readonly IDialog<string> dialog = Chain
.PostToChain()
.Switch(new Case<Message, IDialog<string>>((msg) => …
Run Code Online (Sandbox Code Playgroud) 所以给了"针"和"这里有针但不是这个针干草堆"
我写
def find_needle(n,h):
count = 0
words = h.split(" ")
for word in words:
if word == n:
count += 1
return count
Run Code Online (Sandbox Code Playgroud)
这是O(n),但想知道是否有更好的方法?也许不是通过使用拆分?
您将如何为此案例编写测试以检查它是否处理所有边缘情况?
所以现在我正在使用Microsoft.Bot.Builder.Dialogs.Conversation.SendAsync
并Microsoft.Bot.Builder.Dialogs.Conversation.ResumeAsync
实现一种暂停和恢复对话的方法,但似乎无法"退出"或回到之前的状态.它停留在对话对话框中.
我只是实现'取消'命令吗?如果是这样,我需要清除哪些数据才能恢复到原始状态?
public static readonly IDialog<string> dialog = Chain
.PostToChain()
.Switch(
new Case<Message, IDialog<string>>((msg) =>
{
var regex = new Regex("login", RegexOptions.IgnoreCase);
return regex.IsMatch(msg.Text);
}, (ctx, msg) =>
{
return Chain.ContinueWith(new ChatDialog(msg),
async (context, res) =>
{
var token = await res;
//var valid = await Helpers.ValidateAccessToken(token);
//var name = await Helpers.GetProfileName(token);
var name = "User";
context.UserData.SetValue("name", name);
return Chain.Return($"You are logged in as: {name}");
});
})
).Unwrap().PostToUser();
Run Code Online (Sandbox Code Playgroud)
因此,如果我发送"登录",它将会开始一个新的ChatDialog
对话,但它似乎陷入了这种状态.即使我尝试发送另一个命令,它也会继续要求登录.我是否实现了另一个Case
类来处理"取消"命令?或者,当用户多次发送相同的"登录"命令时,它是否应自动取消对话?看起来有点笨重,必须单独发送'取消'命令.
我在我的烧瓶上创建了一个端点,它从数据库查询(远程数据库)生成一个电子表格,然后在浏览器中将其作为下载发送.Flask不会抛出任何错误.Uwsgi不抱怨.
但是当我检查nginx的error.log时,我看到了很多
2014/12/10 05:06:24 [错误] 14084#0:*239436上游过早关闭连接,同时从上游读取响应头,客户端:34.34.34.34,服务器:me.com,请求:"GET/download/export .csv HTTP/1.1",上游:"uwsgi://0.0.0.0:5002",主机:"me.com",推荐人:" https://me.com/download/export.csv "
我像uwsgi一样部署
uwsgi --socket 0.0.0.0:5002 --buffer-size=32768 --module server --callab app
Run Code Online (Sandbox Code Playgroud)
我的nginx配置:
server {
listen 80;
merge_slashes off;
server_name me.com www.me.cpm;
location / { try_files $uri @app; }
location @app {
include uwsgi_params;
uwsgi_pass 0.0.0.0:5002;
uwsgi_buffer_size 32k;
uwsgi_buffers 8 32k;
uwsgi_busy_buffers_size 32k;
}
}
server {
listen 443;
merge_slashes off;
server_name me.com www.me.com;
location / { try_files $uri @app; }
location @app {
include uwsgi_params;
uwsgi_pass 0.0.0.0:5002;
uwsgi_buffer_size 32k;
uwsgi_buffers 8 32k; …
Run Code Online (Sandbox Code Playgroud) 我有一个非常令人讨厌的原始数据,?
而且我无法str.replace('↵','')在那里?我试过它并且没有工作,我找不到任何关于这个因为当我搜索?
它时没有显示ascii代码.
所以我在 google selenium 网站上看到了这个问题,但还没有解决。
当你 element.send_key('12345')
它将返回“123”。5 被解析为退格....
有解决办法吗?
使用最新的 selenium、chrome、chromedriver、python 2.7、ubuntu 12.04
所以我正在尝试运行从中下载的chromedriver 2.20
wget http://chromedriver.storage.googleapis.com/2.20/chromedriver_linux64.zip
Run Code Online (Sandbox Code Playgroud)
在我的ubuntu 14.04上
x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
我收到以下消息
./chromedriver: error while loading shared libraries: libnss3.so: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)
进一步挖掘我发现它缺少一大堆.
me@me:/var/chrome# ldd ./chromedriver
linux-vdso.so.1 => (0x00007ffc0e5aa000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f472eb63000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f472e95f000)
libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f472e70e000)
libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f472e406000)
libnss3.so => not found
libnssutil3.so => not found
libsmime3.so => not found
libnspr4.so => not found
libgconf-2.so.4 => not found
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f472e0d1000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
(0x00007f472ddcd000)
libm.so.6 …
Run Code Online (Sandbox Code Playgroud) python ×4
botframework ×2
c# ×2
nginx ×2
selenium ×2
ubuntu ×2
algorithm ×1
casperjs ×1
flask ×1
javascript ×1
phantomjs ×1
scrapy ×1
uwsgi ×1
web-scraping ×1