Как я могу нажать кнопку «Просмотреть профиль» на этой странице.
Проблема: Когда я хочу скопировать XPath кнопки «Просмотреть профиль», кнопка исчезает.
https://www.linkedin.com/sales/search/people?savedSearchId=515913166
[]
Другое изображение
Это мой код. Читает электронную почту и пароль из файла config.txt. Переходит на сайт с вопросом, затем переходит в Sales Navigator Мой код
import os, random, sys, time from selenium import webdriver from selenium.webdriver.common.keys import Keys from bs4 import BeautifulSoup browser = webdriver.Chrome('driver/chromedriver') browser.get('https://www.linkedin.com/uas/login') file = open('config.txt') lines = file.readlines() username = lines[0] password = lines[1] elementID = browser.find_element_by_id('username') elementID.send_keys(username) elementID = browser.find_element_by_id('password') elementID.send_keys(password) visitingSalesNavID = '/sales/homepage/' fullLink = 'https://www.linkedin.com' + visitingSalesNavID browser.get(fullLink) time.sleep(4) SavedSearchesID = '/sales/search/saved-searches/people' fullLink = 'https://www.linkedin.com' + SavedSearchesID browser.get(fullLink) time.sleep(4) SavedSearchID = '/sales/search/people?savedSearchId=515913166' fullLink = 'https://www.linkedin.com' + SavedSearchID browser.get(fullLink) time.sleep(4) browser.find_element_by_xpath('/html[1]/body[1]/div[5]/main[1]/div[1]/div[1]/section[1]/div[1]/ol[1]/li[1]/div[2]/div[1]/div[1]/div[1]/article[1]/section[1]/div[2]/ul[1]/li[1]/div[1]/div[2]/div[1]/div[1]/button[1]/li-icon[1]/*').click()
Вы должны заморозить DOM:
1) Откройте консоль разработчика (клавиша F12)
F12
2) Выберите вкладку sources
sources
3) нажмите F8 чтобы заморозить DOM
F8
Затем делайте все, что вы делаете с этим
Вам не нужно смотреть детали элемента. Вы можете нажать с помощью text. Попробуйте следующий код после открытия меню.
text
from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC element = WebDriverWait(driver, 50).until( EC.presence_of_element_located((By.XPATH, "//*[contains(., 'View profile')]"))) element.click()