我正在嘗試從網頁中提取作者姓名和他的隸屬關系(代碼如下)。在某些情況下,作者的數量可能很大,并且有一個“Show_all”按鈕,我們可以單擊它來查看所有作者的姓名。
driver_max_wait_time = 20
driver.get('https://inspirehep.net/literature?sort=mostrecent&size=25&page=1&q=arXiv:1311.4916')
# Wait for the element.
WebDriverWait(driver, driver_max_wait_time).until(EC.presence_of_element_located((By.CLASS_NAME, 'result-item-title')))
# click the above element.
element = driver.find_element(By.CLASS_NAME,'result-item-title').click()
# Get the name of authors and their affiliations. May be in format a(U), b(U) etc.
# a, b are authors.
# U is some university.
WebDriverWait(driver, driver_max_wait_time).until(EC.presence_of_element_located((By.CLASS_NAME, '__InlineList__')))
auth_and_aff_text = driver.find_element(By.CLASS_NAME, '__InlineList__').text
if 'Show All' in auth_and_aff_text:
print(' Do somehting special')
WebDriverWait(driver, driver_max_wait_time).until(EC.element_to_be_clickable((By.CLASS_NAME, '__SecondaryButton__'))).click()
#Now we have clicked the show_all button.
從片段中可以看出,該show_all按鈕被單擊。有人可以告訴我如何從這個小視窗/彈出視窗中提取作者姓名。
正如有人問的那樣,我正在進一步編輯問題以包括螢屏截圖。
第一個driver.get命令 iehttps://inspirehep.net/literature?sort=mostrecent&size=25&page=1&q=arXiv:1311.4916導致以下頁面。
在此處輸入影像描述
現在,我們點擊論文標題,進入下一頁。 在此處輸入影像描述
現在我們單擊打開小視窗的 show_all 按鈕。 在此處輸入影像描述
這就是我卡住的地方。如何從此視窗/彈出視窗中提取資訊?
uj5u.com熱心網友回復:
names=[x.text for x in driver.find_elements(By.XPATH,"//div[@class='ant-modal-body']//a[@data-test-id]")]
如果這是您想要的,應該在沒有括號的情況下抓住該彈出視窗中的所有 9 個名稱。
或用于帶括號的
//div[@class='ant-modal-content']//div[@class='di']
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/473979.html
標籤:Python python-3.x 硒 硒网络驱动程序 网页抓取
上一篇:如果元素不存在,則硒忽略
