使用Python Selenium,我试图从 li 类中提取信息。下面是我尝试过的代码,但是我得到了一个错误:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element:
{"method":"xpath","selector":"//ul[@class='oas_columnsWrapper']//following::li[2]"}
我要打印:218543-Not Applicable+OA
下面是我已经尝试过的代码,但没有运气.
我该如何修复它?
print(browser.find_element(By.XPATH,"//ul[@class='oas_columnsWrapper']//following::li[2]").Attribute("innerHTML"))
我的HTML程式码:
<ul class="omniAds__oas_columnsWrapper">
<li class="omniAds__oas_columns">1.</li>
<li class="omniAds__oas_columns">218543-Not Applicable+OA</li>
<li class="omniAds__oas_columns"></li>
<li class="omniAds__oas_columns">23-11-2021</li>
<li class="omniAds__oas_columns">19,452</li>
<li class="omniAds__oas_columns">546</li>
<li class="omniAds__oas_columns">3%</li>
<li class="omniAds__oas_columns undefined"><b>RUNNING</b></li>
<div class="omniAds__oas_columns"><a href="/my99acres/all_responses/OA"><b>16 Responses</b></a></div>
<li class="omniAds__oas_columns omniAds__oas_viewReportBtn" id="oas_viewReportBtn0">View Report</li>
</ul>
2条答案
按热度按时间t1qtbnec1#
在Selenium-Python中没有任何方法叫做
Attribute
,它是get_attribute
。此外,还应添加一些延迟
建议(使用显式等待)
您必须导入
dpiehjr42#
XPath选择器不正确。它必须是
omniAds__oas_columnsWrapper
,而不仅仅是oas_columnsWrapper
。另外,你不需要选择WebElement的属性来获取它的文本。Selenium已经为WebElement提供了一个内置属性
.text
来为你做这件事。但是,如果你仍然想使用属性,请使用.get_attribute()
而不是attribute()。另外,顺便提一下,我认为XPath可以简化一些。