如何获取标签中元素的值?
How to get the value of an element within a tag?
<div class="player__AAtt">
<div>
<play-js data-account="1234567890" data-id="32667_32797">
</play-js>
</div>
</div>
我想获取 data-account 和 data-id 的值,它们是 play-js 标签中的元素。
elemname = driver.find_elements_by_xpath('xpath.../div/play-js')
我试过如下,但我无法获取值。
使用 javascript,我可以使用下面的代码导入它。
var elems = document.querySelectorAll('.player__AAtt play-js');
console.log(elems[0].dataset.account)
console.log(elems[0].dataset.dataid)
如何获取标签内元素的值而不是标签本身的值?
您可以使用.get_attribute()
方法:
elemname = driver.find_elements_by_xpath('xpath.../div/play-js')
elemname.get_attribute("data-account")
在python中我们主要使用BeautifulSoup来解析html页面。这里的代码将帮助您获取所提供的 html 文件中所有 play-js 元素的值。
from bs4 import BeautifulSoup
res_page = """
<div class="player__AAtt">
<div>
<play-js data-account="1234567890" data-id="32667_32797">
</play-js>
</div>
</div>
"""
soup = BeautifulSoup(res_page, 'html.parser')
output_list = soup.find_all('play-js')
data_account_list = [data_account['data-account'] for data_account in output_list]
data_id_list = [data_id['data-id'] for data_id in output_list]
print(data_account_list)
print(data_id_list)
输出为:
['1234567890']
['32667_32797']
<div class="player__AAtt">
<div>
<play-js data-account="1234567890" data-id="32667_32797">
</play-js>
</div>
</div>
我想获取 data-account 和 data-id 的值,它们是 play-js 标签中的元素。
elemname = driver.find_elements_by_xpath('xpath.../div/play-js')
我试过如下,但我无法获取值。
使用 javascript,我可以使用下面的代码导入它。
var elems = document.querySelectorAll('.player__AAtt play-js');
console.log(elems[0].dataset.account)
console.log(elems[0].dataset.dataid)
如何获取标签内元素的值而不是标签本身的值?
您可以使用.get_attribute()
方法:
elemname = driver.find_elements_by_xpath('xpath.../div/play-js')
elemname.get_attribute("data-account")
在python中我们主要使用BeautifulSoup来解析html页面。这里的代码将帮助您获取所提供的 html 文件中所有 play-js 元素的值。
from bs4 import BeautifulSoup
res_page = """
<div class="player__AAtt">
<div>
<play-js data-account="1234567890" data-id="32667_32797">
</play-js>
</div>
</div>
"""
soup = BeautifulSoup(res_page, 'html.parser')
output_list = soup.find_all('play-js')
data_account_list = [data_account['data-account'] for data_account in output_list]
data_id_list = [data_id['data-id'] for data_id in output_list]
print(data_account_list)
print(data_id_list)
输出为:
['1234567890']
['32667_32797']