从Python中的LinkedIn URL提取配置文件名

2024-10-02 20:31:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从以下URL提取配置文件名称: https://www.linkedin.com/in/zamenajaffer/

理想情况下,我希望从URL中提取“zamenajaffer”并将其转换为字符串

以下是我到目前为止的情况:

#importing packages for web scraping
from selenium import webdriver
from bs4 import BeautifulSoup
import pandas as pd
import re
import time

### Opening LinkedIn Account ###
#request user input for LinkedIn credentials
print("Please enter your email address: ")
username_string = str(input())
print("Please enter your password: ")
password_string = str(input())

#create browser-specific web navigation simulator (chrome)
browser = webdriver.Chrome(executable_path= '/Applications/Python 3.8/chromedriver')

#open LinkedIn and log in with given details
browser.get('https://www.linkedin.com/login')
elementID = browser.find_element_by_id('username')
elementID.send_keys(username_string)
elementID = browser.find_element_by_id('password')
elementID.send_keys(password_string)
elementID.submit()

#navigate to recent activity page
browser.get('https://www.linkedin.com/in/')
print(browser.current_url)

它当前打印https://www.linkedin.com/in/。 我希望它打印的是https://www.linkedin.com/in/zamenajaffer/,如代码运行时浏览器中所示: screenshot of URL in chrome browser


Tags: inhttpsimportbrowsercominputstringwww
1条回答
网友
1楼 · 发布于 2024-10-02 20:31:36

您必须在页面加载时添加延迟,并且仅在加载之后添加延迟到print(browser.current_url)
所以你可以加上

from selenium.webdriver.support import expected_conditions as EC

wait = WebDriverWait(driver, 30)
element = wait.until(EC.visibility_of_element_located((By.CLASS_NAME, 'live-video-hero-image')))   

然后

print(browser.current_url)

相关问题 更多 >