我有这样的HTML代码:
<div class="links nopreview"><span><a class="csiAction"
href="/WebAccess/home.html#URL=centric://REFLECTION/INSTANCE/_CS_Data/null">Home</a></span> • <span><span><a class="csiAction"
href="/WebAccess/home.html#URL=centric://SITEADMIN/_CS_Site">Setup</a></span> • </span><span><a
title="Sign Out" class="csiAction csiActionLink">Sign Out</a></span></div>
Run Code Online (Sandbox Code Playgroud)
我想点击包含文字Home的链接.由于登录后出现此主页链接,我有一个这样的代码:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import re
browser = webdriver.Firefox() # Get local session of firefox
browser.get("http://myServer/WebAccess/login.html") # Load App page
elem = browser.find_element_by_name("LoginID") # Find the Login box
elem.send_keys("Administrator")
elem = browser.find_element_by_name("Password") # Find the Password box
elem.send_keys("Administrator" + Keys.RETURN)
#try:
elem = browser.find_element_by_link_text("Home")
elem.click()
Run Code Online (Sandbox Code Playgroud)
登录之前的部分效果很好.然而,最后一行是有问题的
elem = browser.find_element_by_link_text("Home")
Run Code Online (Sandbox Code Playgroud)
它会引发此NoSuchElementException,其中Home链接就在那里,您可以从HTML代码中看到.
raise exception_class(message, screen, stacktrace)
NoSuchElementException: Message: u'Unable to locate element: …Run Code Online (Sandbox Code Playgroud) 我想读取一个文本文件,写入一个windows .xls文件即,创建一个.xls文件,然后对创建的.xls文件进行一些修改.我已经谷歌了解所有可用的软件包:
Win32 Com client
--> xlrd (Only for Reading from xls files I guess)
|
--> xlwt (only for writing into xls files)
PyExcelerator
Run Code Online (Sandbox Code Playgroud)
执行这些操作的最佳模块是什么?有什么建议?
我正在尝试使用Selenium-Python客户端库自动登录我的Web应用程序.最终目标是学习Selenium的Python客户端库.所以,我真的很感谢那些进入Selenium-Python的人的答案.
我目前有这样的代码:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser = webdriver.Firefox() # Get local session of firefox
browser.get("http://myServer/WebAccess/login.html") # Load Application page
elem = browser.find_element_by_name("LoginID") # Find the Login box
elem.send_keys("Administrator")
elem = browser.find_element_by_name("Password") # Find the Password box
elem.send_keys("Administrator" + Keys.RETURN)
Run Code Online (Sandbox Code Playgroud)
这很好用,但都发生在前端.我的意思是它实际上打开了一个Firefox,值中的键,点击提交等,这是预期的.
我只是想知道,有什么办法让这一切能够在后台发生吗?让我们说我不想监视脚本正在做什么.我只是想让它在后台运行.有没有办法实现这个目标?
编辑
下载PyVirtualDisplay并使用该命令将其安装在我的窗口中setup.py install.也安装了EasyProcess和Path模块.
现在我有一个像这样的示例代码
from pyvirtualdisplay import Display
from selenium import webdriver
display = Display(visible=0, size=(1024, 768))
display.start()
browser = webdriver.Firefox()
browser.get('http://www.google.com')
print browser.title
browser.close()
display.stop()
Run Code Online (Sandbox Code Playgroud)
我在执行此代码时遇到以下错误:
`Traceback (most recent call last): …Run Code Online (Sandbox Code Playgroud) 我有这个非常简单的代码来检查网站是上升还是下降.
import httplib2
h = httplib2.Http()
response, content = h.request("http://www.folksdhhkjd.com")
if response.status == 200:
print "Site is Up"
else:
print "Site is down"
Run Code Online (Sandbox Code Playgroud)
当我输入有效的URL时,它会正确打印Site is Up,因为状态是预期的200.但是,当我输入无效的网址时,是否应该打印网站已关闭?相反,它会打印出类似这样的异常
Traceback (most recent call last):
File "C:\Documents and Settings\kripya\Desktop\1.py", line 3, in <module>
response, content = h.request("http://www.folksdhhkjd.com")
File "C:\Python27\lib\site-packages\httplib2\__init__.py", line 1436, in request
(response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
File "C:\Python27\lib\site-packages\httplib2\__init__.py", line 1188, in _request
(response, content) = self._conn_request(conn, request_uri, method, body, headers)
File "C:\Python27\lib\site-packages\httplib2\__init__.py", line 1129, in …Run Code Online (Sandbox Code Playgroud) 假设有一个链接“http://www.someHTMLPageWithTwoForms.com”,它基本上是一个具有两种表单(比如表单 1 和表单 2)的 HTML 页面。我有一个这样的代码......
import httplib2
from BeautifulSoup import BeautifulSoup, SoupStrainer
h = httplib2.Http('.cache')
response, content = h.request('http://www.someHTMLPageWithTwoForms.com')
for field in BeautifulSoup(content, parseOnlyThese=SoupStrainer('input')):
if field.has_key('name'):
print field['name']
Run Code Online (Sandbox Code Playgroud)
这将返回属于我的 HTML 页面的 Form 1 和 Form 2 的所有字段名称。有什么方法可以让我只获得属于特定表单的字段名称(仅说表单 2)?
我想提交一个表单,点击链接,选择一些复选框和单选按钮,然后点击我的Python程序中的按钮.我曾与Perl的Mechanize合作过.我检查了谷歌,我发现它也可用于Python
http://wwwsearch.sourceforge.net/mechanize/
Run Code Online (Sandbox Code Playgroud)
不幸的是,那个链接已经死了!那么,我在哪里可以获得一些Python Mechanize的教程以及从哪里可以下载它?如果没有机械化,你还会建议什么?
假设我有这样的URL
http://subdomain.domain.com/folder1/abc?cat1=PTO2Cat2=HITOFF&u=%2Fnetahtml%2FPTO%2Fsearch-adv.htm&TEXT1=Value
Run Code Online (Sandbox Code Playgroud)
在此URL中,最后的TEXT1会针对各种页面进行更改.但价值不会改变.所以它会是这样的
对于第1页
http://subdomain.domain.com/folder1/abc?cat1=PTO2Cat2=HITOFF&u=%2Fnetahtml%2FPTO%2Fsearch-adv.htm&TEXT1=Value
Run Code Online (Sandbox Code Playgroud)
对于第2页
http://subdomain.domain.com/folder1/abc?cat1=PTO2Cat2=HITOFF&u=%2Fnetahtml%2FPTO%2Fsearch-adv.htm&TEXT2=Value
Run Code Online (Sandbox Code Playgroud)
对于Page n
http://subdomain.domain.com/folder1/abc?cat1=PTO2Cat2=HITOFF&u=%2Fnetahtml%2FPTO%2Fsearch-adv.htm&TEXTn=Value
Run Code Online (Sandbox Code Playgroud)
我该如何对其进行参数化?我试过这样的事
for ($i=1;$i<=n;$i++)
{
$url = sprintf('http://subdomain.domain.com/folder1/abc?cat1=PTO2Cat2=HITOFF&u=%2Fnetahtml%2FPTO%2Fsearch-adv.htm&TEXT%d=Value',$i)
echo $url;
}
Run Code Online (Sandbox Code Playgroud)
但它没有说Sprintf太少的论点.请问有什么建议吗?
我有这样一条线
assignee: Akebono Brake Industry Co. Ltd. ,
Fujitsu Limited application_no: 06/946,825
Run Code Online (Sandbox Code Playgroud)
我想要输出
assignee: Akebono Brake Industry Co. Ltd. , Fujitsu Limited
application_no: 06/946,825
Run Code Online (Sandbox Code Playgroud)
要将application_no:06/946,825带到下一行,我可以在我的NOTEPAD ++中找到application_no:并将其替换为\napplication_no:
但是,如何将跨越下一行的字符串带回第一行?我的意思是我应该怎样做才能让富士通有限公司从受让人开始:
有什么指导吗?
我需要一些帮助,以将我的想法整合到一个有效的代码中。
这就是我所拥有的:
第一步:我将FTP用户名和密码作为参数。
param(#define parameters
[Parameter(Position=0,Mandatory=$true)]
[string]$FTPUser
[Parameter(Position=1,Mandatory=$true)]
[string]$FTPPassword
[Parameter(Position=2,Mandatory=$true)]
[string]$Version
)
Run Code Online (Sandbox Code Playgroud)
然后设置以下变量:
$FTPServer = "ftp.servername.com"
$SetType = "bin"
Run Code Online (Sandbox Code Playgroud)
现在,我想建立一个连接。我用Google搜索语法,发现了这一点。不确定是否会建立FTP连接。我还没有测试
$webclient = New-Object System.Net.WebClient
$webclient.Credentials = New-Object System.Net.NetworkCredential($FTPUser,$FTPPassword)
Run Code Online (Sandbox Code Playgroud)
这是我不知道如何编码的部分:
$Version是我的输入参数之一。我在FTP中有一个zip文件,如下所示:
ftp.servername.com\builds\my builds\$Version\Client\Client.zip
Run Code Online (Sandbox Code Playgroud)
我想将该Client.zip下载到本地计算机的(从中运行脚本的)"C:\myApp\$Version"文件夹中。因此,FTP下载将为每次运行创建一个$version名为in 的新子文件夹C:\myApp。
完成此操作后,我还需要知道如何将以下client.zip文件解压缩到 C:\myApp\$Version\Client\<content of the zip file will be here>
当 VPN 断开连接时,是否有任何有效的方法可以在日志文件或控制台上进行检查和报告?
import time
print time.asctime( time.localtime(time.time()) )
Run Code Online (Sandbox Code Playgroud)
可以打印时间,但我不知道递归查找 VPN 是否处于活动状态的代码是什么。稍后(1)对其进行 ping 操作来检查连接是否处于活动状态是一种愚蠢的方法。有什么办法可以实现这个目标吗?
我有这样的代码
c.execute('CREATE TABLE IF NOT EXISTS base (ID INTEGER NOT NULL, col2 TEXT NOT NULL, col3 INTEGER, PRIMARY KEY(ID, col2))')
Run Code Online (Sandbox Code Playgroud)
这段代码给了我一个sqlite3.IntegrityError异常,即使我非常确定我是第一次写这个记录.
所以,我试过了
c.execute('CREATE TABLE IF NOT EXISTS base (ID INTEGER, col2 TEXT, col3 INTEGER, PRIMARY KEY(ID, col2))')
Run Code Online (Sandbox Code Playgroud)
这会在基表BUT中精细插入行,ID列根本不会自动递增.
我能做什么?任何的想法?
我在单元格A1中有这些数据:
Majestic Properties Design District, LLC, Ste. 101, 35 NE 40TH ST, Miami, FL 33137
Run Code Online (Sandbox Code Playgroud)
还有一些具有这些格式的其他单元也可以解决,例如
Fortune International Realty Iriondo Ecker & Assoc. Inc., Ste 25, 260 Crandon Blvd, Key Biscayne, FL 33149
Run Code Online (Sandbox Code Playgroud)
我想要的输出是
Miami
Key Biscayne
Run Code Online (Sandbox Code Playgroud)
等等
为了得到Zip和State我做了
=RIGHT(A1,8)
Run Code Online (Sandbox Code Playgroud)
但是现在我需要得到这个城市(即最后两个逗号之间的文字).
我不想将TEXT用于COLUMN或任何VBA.我想用一个公式.