小编use*_*332的帖子

lxml.html的value属性

这是我的代码:

from lxml.html import fromstring
#code
print fromstring(s).xpath('/html/body/div[3]/div/div[2]/div/form/input[4]')
Run Code Online (Sandbox Code Playgroud)

输出是 [<InputElement 2946d20 name='question' type='hidden'>]

我该如何输出值?这个的任何属性?谢谢.

python xpath lxml

4
推荐指数
1
解决办法
783
查看次数

python - 从float中删除所有小数

如何从浮点数中删除所有小数位?

a = 100.0

我希望那成为100

我试过了str(a).rstrip('.0'),但它刚回来了1

python

4
推荐指数
2
解决办法
2万
查看次数

python - 使用带有xpath语法的lxml.html解析html表单

这是表格.相同的确切形式在源中出现两次.

<form method="POST" action="/login/?tok=sess">
<input type="text" id="usern" name="username" value="" placeholder="Username"/>
<input type="password" id="passw" name="password" placeholder="Password"/>
<input type="hidden" name="ses_token" value="token"/>
<input id="login" type="submit" name="login" value="Log"/>
</form>
Run Code Online (Sandbox Code Playgroud)

我正在使用此py代码获取"action"属性

import lxml.html
tree = lxml.html.fromstring(pagesource)
print tree.xpath('//action')
raw_input()
Run Code Online (Sandbox Code Playgroud)

由于有两种形式,它会打印两个属性

['/login/?session=sess', '/login/?session=sess']
Run Code Online (Sandbox Code Playgroud)

我如何才能打印一张?我只需要一个,因为它们是完全相同的形式.

我还有第二个问题

我怎样才能获得令牌的价值?我在谈论这一行:

 <input type="hidden" name="ses_token" value="token"/>
Run Code Online (Sandbox Code Playgroud)

我尝试类似的代码,

import lxml.html
tree = lxml.html.fromstring(pagesource)
print tree.xpath('//value')
raw_input()
Run Code Online (Sandbox Code Playgroud)

但是,由于有多个属性名为value,因此会打印出来

['', 'token', 'Log In', '', 'token', 'Log In'] # or something close to that
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得令牌?只有一个?

有一个更好的方法吗?

html python xpath lxml.html

2
推荐指数
1
解决办法
2343
查看次数

python selenium - 打印xpath值

这是我的代码:

print browser.find_element_by_xpath('/html/body/div[2]/div/div/div/h1/div/small')
Run Code Online (Sandbox Code Playgroud)

它打印<selenium.webdriver.remote.webelement.WebElement object at 0x02915310> 但我希望它打印实际值,这将是0.00

有任何想法吗?

python selenium

2
推荐指数
1
解决办法
1万
查看次数

python - 数学运算符作为函数参数

我有这段代码.

def maths(operator):
   #different math here..

   final = final + number #i want to use the operator arg here
Run Code Online (Sandbox Code Playgroud)

.后来,我想把它称为数学('+')或数学(' - '),所以我不必每次都使用相同的代码.

python

2
推荐指数
1
解决办法
218
查看次数

标签 统计

python ×5

xpath ×2

html ×1

lxml ×1

lxml.html ×1

selenium ×1