python+selenium网页多元素查找,无法进行一一匹配

1.在爬取天眼查网站时,遇到网页有多个元素需要进行一一匹配,能够通过xpath找到多元素,但是进行一一匹配时,遇到问题,看了selenium官方文档,没有找到方法,希望大家能够帮一下忙,谢谢。
2.代码如下:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
def get_final_beneficiary(company): #用来获取最终受益人

global browser

browser = webdriver.Chrome()

browser.maximize_window()

company_name = company

url = 'https://www.tianyancha.com/'

browser.get(url)

wait = WebDriverWait(browser,10)

input = wait.until(EC.presence_of_element_located((By.XPATH,'//*[@id="page-container"]/div[1]/div/div[3]/div[2]/div[1]/div/input')))

submit = wait.until(EC.element_to_be_clickable((By.XPATH,'//*[@id="page-container"]/div[1]/div/div[3]/div[2]/div[1]/button')))

input.send_keys(company_name)

submit.click()

company_info = wait.until(EC.element_to_be_clickable((By.XPATH,'//*[@id="page-container"]/div/div[2]/section/main/div[2]/div[2]/div/div/div[2]/div[2]/div[1]/div[1]/a')))

company_info.click()

current_windows = browser.window_handles #以下这两句都是用来切换标签页的

browser.switch_to_window(current_windows[-1])

target = browser.find_element_by_xpath('//div[@data-dim="staff"]')

browser.execute_script("arguments[0].scrollIntoView();", target) #拖动到可见的元素去

try:

target = browser.find_elements_by_xpath('//div[@data-dim="staff"]//div[@class="tags-list"]') #用来获取天眼查标签,例如最终受益人标签,大股东标签等。

total_final_beneficiary = len(target)

for final_beneficiary in target :

name = final_beneficiary.get_attribute('textContent')

if '最终受益人' in name:

final_beneficiary = browser.find_element_by_xpath('//div[@class="tags-list"]/preceding-sibling::div[1]').text #..代表父节点,这里是最终受益人的名字

stock_hold = browser.find_element_by_xpath('//div[@class="tags-list"]/../../../following-sibling::td[3]').text.rstrip("股权链") #这里是受益人的股份占比

print(final_beneficiary,stock_hold)

else:

print('无法找到最终受益人,需要层层穿透或者用会员版查询')

except:

print('无法找到最终受益人,需要层层穿透或者用会员版查询')

traceback.print_exc()

get_final_beneficiary('成都和润新视界企业管理有限公司')

python+selenium网页多元素查找,无法进行一一匹配
想要的效果:只要查找到最终受益人标签的,将其名字和持股比例打印出来就行了,但是现在的问题是:browser.find_element_by_xpath,永远都只能找出来第一个最终受益人的名字和持股比例,无法达到效果,另外,图片里面只是一种情况,可能有的只是前两个是最终受益人或者第一个是最终受益人,所以需要通过最终受益人的标签来查找股东名字和持股比例,昨天搜索了一晚上,始终没有找到方法,麻烦大家了。

以上是 python+selenium网页多元素查找,无法进行一一匹配 的全部内容, 来源链接: utcz.com/p/938499.html

回到顶部