如何通过文本找到元素,然后复制下一个同级元素



我正在努力学习python selenium,我已经被困了好几天,试图找出从这小段代码中只提取日期的最佳方法。我的最佳猜测是

driver.find_element(By.XPATH text()contains 'registration date' blah

然后以某种方式找到紧接着的下一个元素,但每次我从页面中检索元素时,它都会以的形式提供给我

element="37253116-f015-40a1-bdb1-135342333393"

但我根本不知道那是什么,更不用说我能用它做什么了。

此外,Pandas没有将这段代码识别为表,并在查找表时忽略了它。如果有人有任何想法,我们将不胜感激。。除非是在美丽的汤里做一个循环。。

<dl class="space">
<dt>MASTER NAME</dt>
<dd>Napoleon</dd>
<dt>BUSINESS TYPE</dt>
<dd>Oxygen farm</dd>
<dt>FILE NUMBER</dt>
<dd>94785394</dd>
<dt>STATUS</dt>
<dd>Active</dd>
<dt>PURPOSE</dt>
<dd> relaxation </dd>
<dt>PLACE INCORPORATED</dt>
<dd> the moon </dd>
<dt>REGISTRATION DATE</dt>
<dd>Dec 8, 1986</dd>
<dt>MAILING ADDRESS</dt>
<dd> fun land <br>
THE MOON 
</dd>
</dl>

这个xpath应该对您有效-它将返回注册日期dt元素的第一个同级:

//dl[@class = 'space']/dt[text() = 'REGISTRATION DATE']/following-sibling::dd[1]

然后你可以调用这个方法来获取这个找到的元素的文本

假设您想要类似于下面的代码,通过xpath定位一个元素,然后迭代下一个同级元素

from clicknium import clicknium as cc
if not cc.chrome.extension.is_installed():
cc.chrome.extension.install_or_update()
tab = cc.chrome.open("https://www.bing.com/search?q=clicknium")
elem = tab.find_element_by_xpath('//*[@id="b_results"]/li[2]')
while elem != None:
print(elem.get_text())
elem = elem.next_sibling

最新更新