我正试图从以下网站上获取信息: https://www.blockchain.com/btc/tx/800ce197af8a1a277ec314daba9c0b59c3ceee0f5beec415f5b8d54a3a9db96c
与以下类关联的所有项 “sc-19pxzmk-0 lhmncg” 基本上,这是给定比特币交易中的所有地址,但正如您在页面右侧看到的,有一个元素:
<a class="sc-1r996ns-0 AqGqw sc-1tbyx6t-1 kXxRxe iklhnl-0 boNhIO" opacity="1">Load more outputs... (1 remaining)</a>
这样,如果你点击它显示另一个地址,我如何动态打开它?到目前为止,我所尝试的是-
import requests
from bs4 import BeautifulSoup
from selenium import webdriver
output_class = 'sc-19pxzmk-0 lhmncg'
driver = webdriver.Chrome()
driver.get('https://www.blockchain.com/btc/tx/800ce197af8a1a277ec314daba9c0b59c3ceee0f5beec415f5b8d54a3a9db96c')
result = driver.execute_script("return document.documentElement.outerHTML")
soup = BeautifulSoup(result, 'lxml')
element = driver.find_elements_by_class_name(output_class)
inputs = soup.find_all('div', {'class': output_class})
nither the beautiful soup会返回额外的地址,也不会返回驱动程序
如果使用selenium,则不需要使用Beautifulsoup来获取数据。使用
element.click()
直接单击元素并直接获取结果这给了我:
要按网站的任何元素,您可以使用
click()
的find_element_by_xpath
。因此,对于您提到的元素,您可以使用以下内容:然后,当您查看页面源时,它将按照您的要求进行更新:
相关问题 更多 >
编程相关推荐