我是Python新手。我试图从indiegogo网站上删除数据。 当我单击创建者的“关于”链接时,我无法从打开的模式对话框/弹出窗口中抓取数据。
我试过了
1)browser.switch_to.alert()
2)browser.switch_to.frame()
3)browser.switch_to.window()
但没有运气。
我的部分代码是
window_before = browser.window_handles[0]
about=browser.find_element_by_class_name("campaignTrust- detailsLinks-info.ng-binding")
about.click()
#window_after = browser.window_handles[1]
iframe = browser.find_element_by_class_name("modal-dialog")
#alert = browser.switch_to_alert()
time.sleep(5)
#browser.switch_to.window(window_after)
#browser.switch_to.alert().accept()
#alert.accept()
browser.switch_to.frame(iframe)
#print (browser.page_source.encode("utf_8","ignore"))
creator_role=soup.find("div", class_="campaignTrustInfo-campaignerDetails-role.ng-binding").get_text()
info_abtpage=soup.find("div", class_="campaignTrustInfo-sectionContent ng-binding")
答案 0 :(得分:1)
您正在查看的弹出窗口不是窗口,iframe或浏览器警报:它只是更多DOM。
您正在使用硒,所以请保持简单,不要切换使用BeautifulSoup。
browser.get('https://www.indiegogo.com/projects/camp-pride-needs-your-support')
browser.find_element_by_css_selector('.campaignTrust-detailsLinks-info.ng-binding').click()
info = browser.find_elements_by_css_selector('.modal-content').text
您将获得包含嵌入换行符的文字:
关于
J Mase III
Camp Pride ....