英文:
How to get the total number of pages present in a linkedin post
问题
我想要获取这篇LinkedIn帖子的总页数。
链接:
https://www.linkedin.com/feed/update/urn:li:activity:7050104978106974208/
这是我尝试悬停在帖子上查找总页数的代码:
post_url = "https://www.linkedin.com/feed/update/urn:li:activity:7050104978106974208"
browser.get(post_url)
browser.execute_script("window.scrollBy(0,900)")
achains = ActionChains(browser)
browser.find_element(By.XPATH, "//div[@class='ssplayer-actions center-actions']")
slider_dot = browser.find_element(By.XPATH, "//span[@aria-label='Total pages']")
achains.move_to_element(slider_dot).perform()
但是这段代码报错:
无法定位元素: {"method": "xpath", "selector": "//div[@class='ssplayer-actions center-actions']"}
请问有人能帮助我解决这个问题吗?
英文:
I want to get the total number of pages from this linkedin post
url:
https://www.linkedin.com/feed/update/urn:li:activity:7050104978106974208/
Here's the code that I tried to hover over the post and find the total pages
post_url = "https://www.linkedin.com/feed/update/urn:li:activity:7050104978106974208"
browser.get(post_url)
browser.execute_script("window.scrollBy(0,900)","")
achains = ActionChains(browser)
browser.find_element(By.XPATH, "//div[@class='ssplayer-actions center-actions']")
slider_dot = browser.find_element(By.XPATH, "//span[@aria-label='Total pages']")
achains.move_to_element(slider_dot).perform()
But this code is throwing and error
Unable to locate element: {"method":"xpath","selector":"//div[@class='ssplayer-actions center-actions']"}
Can anyone please help me in solving this?
答案1
得分: 1
这是您可以尝试的方法,
(在这里,我假设您已经登录。)
思路是我们需要切换到包含帖子附加文档详细信息的 iframe。
正如您在上面的HTML片段中所看到的,属性"aria-valuemax" 包含页面的最大值信息,即文档中的页数。
以下是解决方案:
post_url = "https://www.linkedin.com/feed/update/urn:li:activity:7050104978106974208"
browser.get(post_url)
browser.execute_script("window.scrollBy(0,900);")
WebDriverWait(browser, 10).until(
EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR, "iframe[class='document-s-container__document-element document-s-container__document-element--loaded']")))
element = browser.find_element(By.CSS_SELECTOR, 'div.ssplayer-actions.center-actions')
pages = element.find_element(By.CSS_SELECTOR, 'div.ssplayer-progress-bar.meter-animated').get_attribute('aria-valuemax')
print(pages)
页数:
7
英文:
This is how you can try it,
(Here, I assume you're already logged in.)
The idea is that we need to switch to the iframe where the details of the attached document of the post lie.
And as you can see in the above HTML snippet, the attribute "aria-valuemax" holds the information about the maximum value of the page i.e. the number of pages in the document.
Here is the solution:
post_url = "https://www.linkedin.com/feed/update/urn:li:activity:7050104978106974208"
browser.get(post_url)
browser.execute_script("window.scrollBy(0,900);")
WebDriverWait(browser, 10).until(
EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR, "iframe[class='document-s-container__document-element document-s-container__document-element--loaded']")))
element = browser.find_element(By.CSS_SELECTOR, 'div.ssplayer-actions.center-actions')
pages = element.find_element(By.CSS_SELECTOR, 'div.ssplayer-progress-bar.meter-animated').get_attribute('aria-valuemax')
print(pages)
pages:
7
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论