<pre><code>AttributeError: 'list' object has no attribute 'get_attribute'
</code></pre>
<p>该错误说明您试图在Python中调用列表上的<code>get_attribute</code>,但它应该是一个web元素</p>
<p>记住<code>find_elements</code>(复数)在<strong>Python Selenium绑定中返回一个列表。其中as<code>find_element</code>在<strong>Python Selenium绑定中返回一个web元素</strong></p>
<p><strong>问题解决方案:</strong></p>
<ol>
<li>在大多数情况下,更改find_元素应该可以解决问题</李>
</ol>
<p>因此,与其</p>
<pre><code>statistic_info_link = browser.find_elements_by_xpath("//*[contains(text(), 'Статистична інформація')]").get_attribute("outerHTML")
print(statistic_info_link)
</code></pre>
<p>这样做:</p>
<pre><code>statistic_info_link = browser.find_element_by_xpath("//*[contains(text(), 'Статистична інформація')]").get_attribute("innerHTML")
print(statistic_info_link)
</code></pre>
<p>另外,我对<code>outerHTML</code>也不是很确定,因此我把它改成了<code>innerHTML</code></p>
<p><strong>第二次修复:</strong></p>
<p>使用列表索引:</p>
<pre><code>statistic_info_link = browser.find_elements_by_xpath("//*[contains(text(), 'Статистична інформація')]")[0].get_attribute("outerHTML")
print(statistic_info_link)
</code></pre>
<p>或</p>
<pre><code>statistic_info_link = browser.find_elements_by_xpath("//*[contains(text(), 'Статистична інформація')]")[0].get_attribute("innerHTML")
print(statistic_info_link)
</code></pre>
<p>最后,如果您确实想从列表中提取文本,请使用以下代码:</p>
<pre><code>statistic_info_link = browser.find_elements_by_xpath("//*[contains(text(), 'Статистична інформація')]").get_attribute("outerHTML")
for ele in statistic_info_link :
print(ele.get_attribute("outerHTML"))
</code></pre>
<p>或</p>
<pre><code>statistic_info_link = browser.find_elements_by_xpath("//*[contains(text(), 'Статистична інформація')]").get_attribute("outerHTML")
for ele in statistic_info_link :
print(ele.get_attribute("innerHTML"))
</code></pre>