这是我的代码:
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'>]
我该如何输出值?这个的任何属性?谢谢.
如何从浮点数中删除所有小数位?
a = 100.0
我希望那成为100
我试过了str(a).rstrip('.0'),但它刚回来了1
这是表格.相同的确切形式在源中出现两次.
<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)
我怎样才能获得令牌?只有一个?
有一个更好的方法吗?
这是我的代码:
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
有任何想法吗?
我有这段代码.
def maths(operator):
#different math here..
final = final + number #i want to use the operator arg here
Run Code Online (Sandbox Code Playgroud)
.后来,我想把它称为数学('+')或数学(' - '),所以我不必每次都使用相同的代码.