这是用Python编写的,
import re
s='1 89059809102/30589533 IronMan 30 Santa Ana Massage table / IronMan 30 Santa Ana Massage table'
pattern='\s(\d{11})/(\d{8})'
re.match(pattern,s)
Run Code Online (Sandbox Code Playgroud)
它没有返回.
我试着取下括号,
pattern='\s\d{11}/\d{8}'
Run Code Online (Sandbox Code Playgroud)
它仍然会回来none.
我的问题是:
我在我的机器上安装了MAMP(附带PHP 5.5).localhost指向/ Applications/MAMP/htdocs.当我试图在终端中使用composer在htdocs中安装依赖项时,问题就出现了.Composer抱怨PHP必须是5.4或更高.
我猜它抱怨PHP附带OSX.所以我已经将PHP升级到5.6了
curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6
Run Code Online (Sandbox Code Playgroud)
但是,当我这样做
$ php -v
Run Code Online (Sandbox Code Playgroud)
我还是得到的
PHP 5.3.28 (cli) (built: Aug 29 2014 18:52:17)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies
Run Code Online (Sandbox Code Playgroud)
而Composer仍在抱怨......
这是为什么?以及如何解决这个问题?
我试图在Python 2.7中使用Selenium中的Web元素.元素ID如下所示:
cell.line.order(240686080).item(250444868).unitCost
Run Code Online (Sandbox Code Playgroud)
第一个数字字符串'240686080'是已知的,但第二个数字'250444868'事先是未知的.
我试图通过这样的方式达到它.
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("somewebsite.com")
driver.find_elements_by_id('input.line.order(240417939).item('+ '\d{9}'+').unitCost')
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,无论如何我们只能通过已知的部分ID来搜索和获取此元素吗?
我在下面找到了类似的问题,但它是在C#中.不幸的是,我不知道C#.
先感谢您!
编辑4/8
元素编码如下:
<td id="cell.line.order(240417939).item(250159165).unitCost" class="or_monetarydata">
<input id="input.line.order(240417939).item(250159165).unitCost" type="hidden" value="135.00"
name="order(240417939).item(250159165).unitcost"></input>
135.00
</td>
Run Code Online (Sandbox Code Playgroud)
我可以通过获取元素列表
value=driver.find_elements_by_xpath("//*[contains(@id, 'input.line.order(240417939)')]")
Run Code Online (Sandbox Code Playgroud)
谢谢!