【发布时间】:2020-05-20 15:19:25
【问题描述】:
这是我对previous question 的跟进。基本上,我正在尝试从该站点https://brokercheck.finra.org/search/genericsearch/list的搜索结果中刮取所有 CRD#
(您需要在单击链接时重新搜索,只需为Individual 搜索输入一些随机内容)
我正在尝试抓取Disclosure 以获取Yes 或No,但此框使用ng-if 来显示Yes 或No,或者对于某些行它甚至不会显示它。
我正在使用CSS_SELECTOR 来选择div 的文本。但是ng-if的内容不同
# No
print([disclosure.get_attribute("innerHTML") for disclosure in WebDriverWait(driver, 10).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, "div.ng-scope[ng-if='!vm.item.hasDisclosures() && vm.item.hasDisclosureFlag()'")))])
# Yes
print([disclosure.get_attribute("innerHTML") for disclosure in WebDriverWait(driver, 10).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, "div.ng-scope[ng-if='vm.item.hasDisclosures()'")))])
如何以编程方式处理这种情况?
谢谢。
【问题讨论】:
标签: python selenium selenium-webdriver web-scraping