0
在Firebug,当我在控制台下面的CSS选择器运行时,我得到一些像这样的输出节点......最后,我可以提取这些节点信息...等效命令
$$("div.skuCol>div.priceBox>div.bFont")
结果:
[div.bFont, div.bFont, div.bFont, div.bFont, div.bFont, div.bFont,
div.bFont, div.bFont, div.bFont, div.bFont, div.bFont, div.bFont,
div.bFont, div.bFont, div.bFont, div.bFont, div.bFont, div.bFont,
div.bFont, div.bFont, div.bFont, div.bFont, div.bFont, div.bFont,
div.bFont, div.bFont, div.bFont]
我怎样才能运行的webdriver上面的命令......当前我这样做像这条巨蟒....
from lxml.cssselect import CSSSelector
from lxml import etree
import requests
from StringIO import StringIO
#Sorting by low to high
r = requests.get("http://%s.somewebsite.com/ps/?q=mango&o=pricelth&p=1")
parser = etree.HTMLParser()
tree = etree.parse(StringIO(r.content), parser)
#Note this line...
sel = CSSSelector("div.skuCol:not([style^='display']) > div.priceBox > div.bFont")
nodes = sel(tree.getroot())
s_list = []
for node in nodes:
s_list.append(float(node.text.split(" ")[-1]))
print s_list
更准确地说,'find_elements_by_css_selector(...)',因为他想把它们全部取出,而不仅仅是第一个。但否则,+1。 – 2013-05-12 15:20:42
啊,是的,好点。我会编辑答案。 – rcdsystems 2013-05-12 15:31:06