我正在使用python的selenium获取那些恼人的元素是不可见的异常,而元素是活动的,选择的和闪烁的.
问题是在页面上制作一个jfiddle,所以这里不是制作小提琴本身,而是在你的ipython终端登录并拥有一个webdriver(名为'driver')的切割和粘贴方式(输入用户名和密码)进入ipython,而不是页面):
https://gist.github.com/codyc4321/787dd6f62e71cc71ae83
现在有一个驱动程序,你登录jsfiddle,我在这里做的一切都失败了,除了第一次选择框(让我说我想把CSS放在CSS框中):
https://gist.github.com/codyc4321/f4c03c0606c2e3e4ff5b
粘贴activate_hidden_element并在第一个代码行中看到CSS面板亮起.出于某种原因,这个突出显示的面板"不可见",您无法粘贴和编码.该项目是
<div class="window top" id="panel_css" data-panel_type="css">
<textarea id="id_code_css" rows="10" cols="40" name="code_css"></textarea>
<a href="#" class="windowLabel" data-panel="css">
<span class="label">CSS</span><i class="bts bt-gear"></i>
</a>
</div>
Run Code Online (Sandbox Code Playgroud)
所有其他项目(HTML,JS)基本相同.为什么这个活动框不允许文本粘贴?谢谢
解:
我使这项服务工作的丑陋方式是手动伪造剪切和粘贴:
css_content = get_inline_content_and_remove_tags(webpage_content, 'style')
js_content = get_inline_content_and_remove_tags(webpage_content, 'script')
webpage_content = # ...clean cruft...
def copy_paste_to_hidden_element(content=None, html_id=None):
pyperclip.copy(content)
activate_hidden_element(html_id=html_id, driver=driver)
call_sp('xdotool key from+ctrl+v')
time.sleep(1)
copy_paste_to_hidden_element(content=webpage_content, html_id="panel_html")
copy_paste_to_hidden_element(content=js_content, html_id="panel_js")
copy_paste_to_hidden_element(content=css_content, html_id="panel_css")
Run Code Online (Sandbox Code Playgroud)
它确实有效,唯一的小问题是它无法在后台运行,我需要单独离开屏幕大约30秒
我已经遵循了每个 bash 字典示例,但没有一个起作用。我现在有了
_配置:
#!/bin/bash
instance_map["dev"]=project-dev
instance_map+=( ["stage"]="project-staging" )
declare -A animals=( ["moo"]="cow" ["woof"]="dog")
Run Code Online (Sandbox Code Playgroud)
测试.sh:
#!/bin/bash
source _CONFIG
echo ${instance_map["dev"]}
echo ${instance_map["stage"]}
echo "${animals[moo]}"
for sound in "${!animals[@]}"; do echo "$sound - ${animals[$sound]}"; done
Run Code Online (Sandbox Code Playgroud)
出于某种原因,在遵循每个示例之后,我得到
$ ./test.sh dev
_CONFIG: line 9: declare: -A: invalid option
declare: usage: declare [-afFirtx] [-p] [name[=value] ...]
project-devproject-staging
project-devproject-staging
dog
0 - dog
$ bash --version
GNU bash, version 4.4.0(1)-release (x86_64-apple-darwin15.6.0)
Run Code Online (Sandbox Code Playgroud)
如何在 Bash 中将用户输入“dev”映射到“myprojectname”?
我想立即加载页面,然后加载数据以填充select2框.使用Knockout,我最终没有得到任何错误,但在我的select2 select框中看不到任何项目.从服务器同步加载工作,但非常慢(因为获取app_names).我到目前为止:
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Admin suite</title>
<!-- Load javascript libraries -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.4/css/bootstrap.css" rel="stylesheet">
<!-- best interactive input box -->
<link href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/css/select2.min.css" rel="stylesheet" />
<script type="text/javascript" src="//cdn.jsdelivr.net/momentjs/latest/moment.min.js"></script>
<script type="text/javascript" src="//cdn.jsdelivr.net/bootstrap.daterangepicker/2/daterangepicker.js"></script>
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/bootstrap.daterangepicker/2/daterangepicker.css" />
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.1/knockout-min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet">
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script>
<!-- semantic -->
<!-- <link href="https://cdnjs.com/libraries/semantic-ui" rel="stylesheet"/> -->
<style>
.center {
float: none;
margin-left: auto;
margin-right: …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写python装饰器,我在理解内部包装器如何获取参数时遇到问题.我在这里:
import time
def timing_function(some_function):
def wrapper():
t1 = time.time()
some_function()
t2 = time.time()
return "Time it took to run: " + str((t2-t1)) + "\n"
return wrapper
@timing_function
def my_function(x):
return x * x
my_function(6)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-4-fe2786a2753c> in <module>()
----> 1 my_function(6)
TypeError: wrapper() takes no arguments (1 given)
Run Code Online (Sandbox Code Playgroud)
这与示例略有不同:
import time
def timing_function(some_function):
"""
Outputs the time a function takes
to execute.
"""
def wrapper():
t1 = time.time()
some_function()
t2 = time.time()
return …Run Code Online (Sandbox Code Playgroud) 我允许有人为他的披萨配料设定价格,我有一个简单的表格,这是默认的DecimalField小部件
models.py:
class Topping(models.Model):
title = models.CharField(max_length=60)
description = models.CharField(max_length=50, blank=True, null=True)
price = models.DecimalField(max_digits=4, decimal_places=2, default=0.00)
Run Code Online (Sandbox Code Playgroud)
forms.py:
class ToppingForm(forms.ModelForm):
class Meta:
model = Topping
fields = ('title', 'price')
Run Code Online (Sandbox Code Playgroud)
截至目前,小部件允许单击向上或向下以增加价格,但默认为0.01或一分钱.这没用,我希望他们一次能够跳25美分.我不知道我是否正在阅读错误的github,但是源代码没有显示任何兴趣,比如设置增量的关键字arg:
https://github.com/django/django/blob/master/django/forms/widgets.py
class TextInput(Input):
input_type = 'text'
def __init__(self, attrs=None):
if attrs is not None:
self.input_type = attrs.pop('type', self.input_type)
super(TextInput, self).__init__(attrs)
class NumberInput(TextInput):
input_type = 'number'
Run Code Online (Sandbox Code Playgroud)
谢谢
我正在尝试自动化 selenium 需要太长时间的测试表单(javascript 重型现代表单),我想使用 xdotool 并获取窗口 ID。我看到您可以调用xdotool selectwindow并单击它,但是您每次都必须单击它。我想告诉它“对于标签标题为 x 的 google chrome 窗口,请执行 y”
我在这里得到了窗口 ID:
cchilders@cchilders-Dell-Precision-M3800:~$ xdotool selectwindow
65011713
Run Code Online (Sandbox Code Playgroud)
这是针对 chrome 本身的,每个选项卡在单击时都会获得相同的值。所以我希望在 ps 或窗口管理器中找到它,但没有:
cchilders@cchilders-Dell-Precision-M3800:~$ wmctrl -l
0x03a00001 0 cchilders-Dell-Precision-M3800 views.py - /home/cchilders/work_projects - Atom
0x03a00048 0 cchilders-Dell-Precision-M3800 pip_freeze_update.py - /home/cchilders/scripts - Atom
0x03a000bc 0 cchilders-Dell-Precision-M3800 urls.py - /home/cchilders/work_projects - Atom
Run Code Online (Sandbox Code Playgroud)
ps 也不起作用:
(clientsite)cchilders@cchilders-Dell-Precision-M3800:~$ ps -alx
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
4 0 1 0 20 0 185188 5752 …Run Code Online (Sandbox Code Playgroud) 我开始了一个新项目,我得到了:
django.core.exceptions.ImproperlyConfigured: Enable 'django.contrib.auth.context_processors.auth' in your TEMPLATES setting in order to use the admin application.
Run Code Online (Sandbox Code Playgroud)
我跟随django docs 1.9:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
}
]
Run Code Online (Sandbox Code Playgroud)
可能是什么问题(它如何让我配置)?谢谢
为 Django 编写的两个 JWT 包都给我带来了文档不佳的问题,所以我尝试了 DRF-auth_token 包。这是我遵循的一个很好的例子,Django Rest Framework Token Authentication。理论上你应该能够去
localhost:8000/api-token-auth/
网址.py:
from django.conf.urls import url, include
from django.contrib import admin
from django.contrib.auth.models import User
from rest_framework.authtoken import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^api/', include('api.urls', namespace='api')),
url(r'^orders/', include('orders.urls', namespace='orders')),
url(r'^api-token-auth/', views.obtain_auth_token, name='auth-token'),
]
Run Code Online (Sandbox Code Playgroud)
为用户获取令牌不起作用,所以我自己重写了它以使其工作:
@api_view(['POST'])
def customer_login(request):
"""
Try to login a customer (food orderer)
"""
data = request.data
try:
username = data['username']
password = data['password']
except:
return Response(status=status.HTTP_400_BAD_REQUEST)
try:
user = User.objects.get(username=username, password=password)
except:
return …Run Code Online (Sandbox Code Playgroud) python django django-rest-framework django-rest-auth django-1.10
我django.db.utils.OperationalError: (1698, "Access denied for user 'root'@'localhost'")用mysql的时候有。用户名和密码正确:
DB_HOST = '127.0.0.1'
DB_USER = 'root'
DB_PASSWORD = ''
Run Code Online (Sandbox Code Playgroud)
我可以以root身份登录mysql:
$ sudo mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 16
Run Code Online (Sandbox Code Playgroud)
但不是cchilders:
$ mysql -u root
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
Run Code Online (Sandbox Code Playgroud)
这可能会导致问题。上次我安装mysql时没有发生这种情况,所以对我来说没有意义。我的客户很好:
$ pip3 freeze
Django==1.10.5
mysqlclient==1.3.9
Run Code Online (Sandbox Code Playgroud)
如何让我的普通用户运行 mysql,以便我可以在终端中运行 django?谢谢你
脏的解决办法:
没有任何修复,总是运行 mysql 作为 sudo
我在尝试使用IPython时遇到随机错误.我现在突然无法使用iPython3而没有任何解释,我不记得安装除了以太坊客户端之外的任何东西,我没有下载哈希或任何东西.我突然得到:
cchilders:~
$ ipython3
-bash: /usr/local/bin/ipython3: /usr/local/opt/python3/bin/python3.5: bad interpreter: No such file or directory
Run Code Online (Sandbox Code Playgroud)
IPython或IPython3都没有工作.在卸载并重新安装Python和Python3之后,我现在可以使用IPython.但是,如果我尝试iPython3,就会出现同样的错误.
这是我见过的更荒谬的错误之一,因为我重新安装了IPython,Python本身和Python3而没有任何变化.
python ×7
django ×4
bash ×3
javascript ×2
macos ×2
decorator ×1
dictionary ×1
django-1.10 ×1
django-1.9 ×1
ipython ×1
jquery ×1
knockout.js ×1
linux ×1
mysql ×1
ps ×1
python-3.x ×1
scripting ×1
selenium ×1
widget ×1
xdotool ×1