Здравствуйте, девелоперы там:
Я занимаюсь поиском в сети Google, и у меня проблемы с получением правильного выражения xpath
Когда я проверяю нужные элементы, он возвращает мне такие выражения:
//*[@id="gs_res_ccl_mid"]/div[2]/div[2]/div[3]/a[3]
//*[@id="gs_res_ccl_mid"]/div[3]/div/div[3]/a[3]
// *[@id="gs_res_ccl_mid"]/div[6]/div[2]/div[3]/a[3]
Я получил общее выражение:
//*[@id="gs_res_ccl_mid"]//a[3]
Также попробовал альтернативу, с похожими результатами:
//*[@id="gs_res_ccl_mid"]/div*/div*/div*/a[3]
Вывод выглядит примерно так (я не могу опубликовать весь набор результатов, потому что у меня нет 10 пунктов репутации):
['https://scholar.google.es/scholar?cites=5812018205123467454&as_sdt=2005&sciodt=0,5&hl=es',' https://scholar.google.es/citations?user=EOc3O8AAAAAJ&hl=es&oi=sra', 'https://scholar.google.es/citations?user=nd8O1XQAAAAJ&hl=es&oi=sra',' https://scholar.google.es/scholar?cites=15483392402856138853&as_sdt=2005&sciodt=0,5&hl=es', 'https://scholar.google.es/scholar?cites=7733120668292842687&as_sdt=2005&sciodt=0,5&hl=es',' https://scholar.google.es/scholar?cites=15761030700327980189&as_sdt=2005&sciodt=0,5&hl=es']
Проблема с выводом состоит в том, что есть 3 ненужных дополнительных элемента, и у всех них есть этот фрагмент текста "цитаты? Пользователь".
Что я могу сделать, чтобы избавить меня от нежелательных элементов?
Мой код Python:
def paperOthers(exp,atr=None):
thread = browser.find_elements(By.XPATH,(" %s" % exp))
xArray = []
for t in thread:
if atr == 0:
xThread = t.get_attribute('id')
elif atr == 1:
xThread = t.get_attribute('href')
else:
xThread = t.text
xArray.append(xThread)
return xArray
Которым я звоню:
rcites = paperOthers("//*[@id='gs_res_ccl_mid']//a[3]",1)
Большое спасибо