首页 > 解决方案 > 如何获取 URL 缩短页面的结果值?

问题描述

我正在尝试自动获取 URL 缩短的结果。这是我正在使用的页面:网址缩短器网站

这是我制作的代码(URLS 列表包含链接):

driver.get("http://paylinx.pw/linx/")


for i in URLS:
    driver.find_element_by_xpath('//*[@id="url"]').click()
    time.sleep(2)
    driver.find_element_by_xpath('//*[@id="url"]').send_keys(i)
    time.sleep(2)
    driver.find_element_by_xpath('//*[@id="invisibleCaptchaShort"]').click()
    time.sleep(2)

在此之后,我得到shortened url. 我需要一点帮助才能以某种方式得到它。

标签: pythonpython-3.xseleniumselenium-chromedriver

解决方案


用于WebDriverWait等待短 url 结果并获取值。

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome()
wait = WebDriverWait(driver, 10)

with driver:
    driver.get("http://paylinx.pw/linx/")
    for url in URLS:
        driver.find_element_by_id("url").send_keys(url, Keys.ENTER)

        short_url = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, ".add-link-result .input-lg"))).get_attribute("value")
        print(short_url, url)

推荐阅读