我已按照这些说明为github设置SSH密钥.但现在当我这样做
> git pull
Username for 'https://github.com':
Run Code Online (Sandbox Code Playgroud)
在本地计算机上的存储库中,我已经从公共SSH密钥,我仍然被要求输入用户名/密码.我错过了一步吗?
对于selenium我有一堆chrome选项,我需要通过它传递给远程webdriver DesiredCapabilities.在这个页面上有一个关于如何执行此操作的java示例,但是如何在python中执行此操作?该文档是非常差的.
这是我到目前为止的代码:
prefs = {
"profile.default_content_settings.popups":0,
"download.prompt_for_download": "false",
"download.default_directory": cwd,
}
chrome_options = Options()
chrome_options.add_argument("--disable-extensions")
chrome_options.add_experimental_option("prefs", prefs)
capabilities = DesiredCapabilities.CHROME
#code I could not find
#I need something like
#capabilities.add_options(chrome_options)
driver = webdriver.Remote(
command_executor='http://aaa.bbb.ccc:4444/wd/hub',
desired_capabilities=capabilities)
Run Code Online (Sandbox Code Playgroud)
有没有想过要这样做?或者在哪里找到合适的文件?
在selenium测试中,您使用打开网页
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("whateverpage.org.com")
Run Code Online (Sandbox Code Playgroud)
如何为selenium版本3.8.0和python 2.7.12 设置此命令的超时?
python selenium webdriver selenium-webdriver pageloadtimeout
为了检查在 docker 镜像中运行的 selenium 测试,我尝试设置一个 VNC 来验证测试期间发生的情况。
我正在按照此处提出的建议创建一个新的 docker 映像,并在 中添加以下附加行Dockerfile:
RUN apt-get install -y x11vnc
RUN mkdir ~/.vnc
RUN x11vnc -storepasswd 1234 ~/.vnc/passwd
Run Code Online (Sandbox Code Playgroud)
然后我使用以下命令启动了 docker 镜像:
docker run -p 5900 --rm -it --entrypoint /bin/bash selenium-tests
Run Code Online (Sandbox Code Playgroud)
并开始krdc作为我的 VNC 查看器。那么现在怎么办?
我在krdc. 也许我错过了什么?我是否必须在 docker 中明确启动 vnc 代码?我需要向docker命令传递额外的参数吗?
我在我的计算机上有一个叉子的存储库的本地结帐(来自github)。因此在github上,我创建了一个fork,并进行了检查。
现在,我希望本地结帐与原始github存储库相同(我从中创建了fork)。我将原始存储库添加到了本地存储库(名称为“ orig”)中,并执行以下操作:
git pull orig master
Run Code Online (Sandbox Code Playgroud)
但是,git status告诉我
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
nothing to commit, working directory clean
Run Code Online (Sandbox Code Playgroud)
也git diff还是git diff origin/master什么也没显示。
有没有办法使本地结帐等于原始master分支中的内容(而无需删除本地存储库,github fork,重新派生,重新签出...)?
我不在乎是否有任何未提交的更改或任何东西。我希望本地结帐等于原始仓库...
我用来python-selenium运行自动化测试。在复杂的非公共环境中运行这些测试时,我发现了一些我将标记为 selenium 中的错误的东西。
基本上我想做的是在 DOM 中找到一些元素,当它变得可点击时,然后点击它。代码如下:
....
what = (By.XPATH, '//button/span[contains(text(), "Load")]')
element = WebDriverWait(bspdriver.webdriver, 60).\
until(EC.element_to_be_clickable(what))
element.click()
....
Run Code Online (Sandbox Code Playgroud)
但是,该click方法几乎立即失败,并显示以下错误消息:
ElementClickInterceptedException: Message: Element <button class="ivu-btn ivu-btn-primary ivu-btn-long ivu-btn-small" type="button"> is not clickable at point (1193.3332901000977,522) because another element <div class="ivu-modal-wrap vertical-center-modal circuit-loading-modal"> obscures it
Run Code Online (Sandbox Code Playgroud)
我虽然正在等待该元素可点击!我以为这EC.element_to_be_clickable就是这个意思。但事实并非如此。这是硒中的错误吗?
解决方法是使用以下代码:
mustend = time.time() + 60
while time.time() < mustend:
try:
WebDriverWait(bspdriver.webdriver, 60).\
until(EC.element_to_be_clickable(what)).click()
break
except (TimeoutException, NoSuchElementException,
StaleElementReferenceException,
ElementClickInterceptedException) as e:
time.sleep(1.0)
Run Code Online (Sandbox Code Playgroud)
这对我来说看起来不太好。有没有办法改进代码?硒有缺陷吗?如果是的话我可以举报...
使用过的包:
在 Linux 会话上,我可以设置一个环境变量,例如
export PYTHONPATH=.
Run Code Online (Sandbox Code Playgroud)
如何在 Windows Powershell 上执行此操作?我发现了这个并尝试过
[Environment]::SetEnvironmentVariable PYTHONPATH=.
Run Code Online (Sandbox Code Playgroud)
和
$env PYTHONPATH=.
Run Code Online (Sandbox Code Playgroud)
但两者都不起作用。在这两种情况下我都遇到了错误UnexpectedToken。
我有两个数字(二进制或不二进制,不起任何作用),只有一位不同,例如(伪代码)
a = 11111111
b = 11011111
Run Code Online (Sandbox Code Playgroud)
我想要一个简单的python函数,它返回不同的位位置(给定示例中的"5",从右到左).我的解决方案是(python)
math.log(abs(a-b))/math.log(2)
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有更优雅的方法来做到这一点(不使用花车等).
谢谢Alex
我使用argparse时遇到了一些问题.我希望在命令行中定义一组名称,这些名称将影响程序的行为.我尝试了以下代码段:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("allon", action='store_true', default = False,
help="Toggles all output pins to ON.")
parser.add_argument("alloff",action='store_true',
help="Toggles all output pins to OFF.")
parser.add_argument("cont", action='store_true',
help="Toggles all output pins continously on and off.")
args = parser.parse_args()
if args.allon:
do_allon()
elif args.alloff:
do_alloff()
....
Run Code Online (Sandbox Code Playgroud)
但代码的行为不是预期的.我不想对这些选项使用' - ',因为我想调用我的代码git status(没有前导' - ').
首先,如果我在没有参数的情况下调用代码,则所有参数都设置为True,而如果没有给出,我希望将它们设置为False.预期的行为如下:当呼叫为
python code.py
Run Code Online (Sandbox Code Playgroud)
当我打电话时,我想要allon, alloff和cont被设定False
python code.py alloff
Run Code Online (Sandbox Code Playgroud)
我想allon和cont要False同时alloff设置为True.
第二,当我打电话时,python code.py allon …