Селен не может нажать кнопку - PullRequest
0 голосов
/ 08 февраля 2020

Как я могу нажать кнопку «Просмотреть профиль» на этой странице.

Проблема: Когда я хочу скопировать XPath кнопки «Просмотреть профиль», кнопка исчезает.

https://www.linkedin.com/sales/search/people?savedSearchId=515913166

[enter image description here]

Другое изображение enter image description here

Это мой код. Читает электронную почту и пароль из файла 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()

Ответы [ 2 ]

1 голос
/ 08 февраля 2020

Вы должны заморозить DOM:

1) Откройте консоль разработчика (клавиша F12)

2) Выберите вкладку sources

3) нажмите F8 чтобы заморозить DOM

Затем делайте все, что вы делаете с этим

0 голосов
/ 08 февраля 2020

Вам не нужно смотреть детали элемента. Вы можете нажать с помощью 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...