如何在Python中获取没有值字段的textarea值

问题描述 投票:0回答:1

我正在尝试解析html页面并从文本区域获取值,但我无法实现它,我将放置我的代码(我从selenium开始,但它也不起作用)。我不太明白这个值在 DOM 中的位置

所以该值在检查器中,但不在 html 代码中......我找不到获取它的方法。请有人帮我解释一下吗?谢谢!

#coding: utf8
import lxml.html as lh
import urllib.request 

nb = 36893488147419103232
#x=0


#GRAB
#while x<=1: #A changer en fonction du nb de pages à crawl
url_base="https://bitcoin.oni.su/"+str(nb)#+x)
req = urllib.request.Request(url_base, headers={'User-Agent': 'Mozilla/5.0'})
doc=lh.parse(urllib.request.urlopen(req))
get_btc_adr = doc.xpath('//textarea[@id="BTCaddrC"]')
print(get_btc_adr, get_btc_adr[0].value)#Tried Value, text, element_Text()....
#x+=1
python parsing textarea lxml urllib
1个回答
0
投票

环顾四周并没有放弃后,我终于成功了,这是工作代码,以防有人遇到同样的情况:

#coding: utf8
from selenium import webdriver

nb = 36893488147419103232
x=0
driver = webdriver.Firefox()

#GRAB
while x<=1: #A changer en fonction du nb de pages à crawl
    url_base="https://bitcoin.oni.su/"+str(nb+x)
    driver.get(url_base)
    btc_adr = driver.execute_script("return document.getElementById('BTCaddrC').value")
    with open("result.txt","a") as f:
        f.write(str(nb+x)+" "+btc_adr+"\n")
    print(str(nb+x),btc_adr)
    x+=1

感谢大家的帮助!

© www.soinside.com 2019 - 2024. All rights reserved.