我想存储网页中存在的两个整数,并将其存储在数组中,然后找到所有值的平均值
我正在使用
driver.find_element_by_xpath('some_Xpath').text()
你也可以建议其他方法
<!DOCTYPE html>
<html>
<head>
<style>
table {
font-family: arial, sans-serif;
border-collapse: collapse;
width: 100%;
}
td, th {
border: 1px solid #dddddd;
text-align: left;
padding: 8px;
}
tr:nth-child(even) {
background-color: #dddddd;
}
</style>
</head>
<body>
<h2>HTML Table</h2>
<table>
<tr>
<th>Company</th>
<th>Contact</th>
<th>Value</th>
</tr>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
<td>12</td>
</tr>
<tr>
<td>Centro comercial Moctezuma</td>
<td>Francisco Chang</td>
<td>13</td>
</tr>
<tr>
<td>Ernst Handel</td>
<td>Roland Mendel</td>
<td>14</td>
</tr>
<tr>
<td>Island Trading</td>
<td>Helen Bennett</td>
<td>15</td>
</tr>
<tr>
<td>Laughing Bacchus Winecellars</td>
<td>Yoshi Tannamuri</td>
<td>16</td>
</tr>
<tr>
<td>Magazzini Alimentari Riuniti</td>
<td>Giovanni Rovelli</td>
<td>17</td>
</tr>
</table>
</body>
</html>
要复制该值并将其保存在数组中吗 我希望此文本保存在数组中,然后打印它。 我是新来的。有人能帮我吗
谢谢
确保在Selenium中使用
find_elements
(使用s检索所有值)。 根据您的样本,您应该使用:然后计算平均值(确保
import statistics
):一段代码(带
LXML
):最后一行是另一个选项,即:使用XPath直接计算平均值
输出:
如果需要更健壮的XPath,可以使用:
td
元素的计算位置索引相对于“Value”头的位置这取决于从页面上删除的数据的确切外观。事实上,在清理过程中最大的困难是数据卫生,这也是您在这里所做的
获取元素的方法是正确的,只需进入chrome开发者工具,检查要刮取的元素,并复制元素的xpath
如果您正在刮取的元素只是一个包含多个值的字符串(我认为这不太可能,您试图获取的值很可能在单独的元素中,但是您可以刮取一个包含所有值的div,仍然使用
.text()
,您将得到一个包含值的字符串),那么您可以使用.split()
在结果字符串上,它将被空格分割然后,结合列表理解
my_int_array = [int(val) for val in scraped_string.split()]
你有一个整数数组
对于您在问题中发布的确切案例,我将刮取整个表,然后使用BeautifulSoup4提取值。 使用selenium获取表的
.innerHTML()
,然后使用beautifulsoup解析该html数据BeautifulSoup Documentation相关问题 更多 >
编程相关推荐