【发布时间】:2020-07-23 20:09:09
【问题描述】:
我目前正在使用 python(和 selenium)编写脚本,当我尝试在此 div 中获取文本(III. AIR COMBAT)时遇到一些问题:
<div class="vs901-4">
<i id="copyarticle" style="cursor:pointer; color:white;margin-right:10px;" class="fa fa-copy"></i>
<span id="copiednotif" class="badge badge-pills badge-success" style="text-weight:300;cursor:pointer; margin-left: 5px;margin-right:5px;"></span>
<span id="profileid" class="hidden"> website link</span>
III. AIR COMBAT</div>
所以基本上我尝试了通常的完整 xpath 方式:
self.driver.find_element_by_xpath("/html/body/div[2]/div/div[2]/div[2]/div/div/div/div/div/div[1]/div[4]/text()").get_attribute("innerHTML")
这基本上是我用于其他我需要的文本的内容(其他文本不在未标记的 div 中)并且它们都有效,但是这个给了我这个错误:
"The result of the xpath expression "/html/body/div[2]/div/div[2]/div[2]/div/div/div/div/div/div[1]/div[4]/text()" is: [object Text]. It should be an element."
感谢您的帮助。
【问题讨论】:
-
请包含 xpath_code。因为那是你的错误发生的地方,你至少应该包括变量的值是什么。
-
添加了 xpath 代码
-
能否也提供网址?
-
你试过
//div[@class='vs901-4']/text()[last()]xpath吗? -
是的@supputuri,
//div[@class='vs901-4']/text()[last()]给了我同样的错误
标签: javascript python html selenium selenium-webdriver