我试图自动获取URL缩短的结果。
这是我正在使用的页面:url shortener site
这是我编写的代码(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
。我需要一点帮助才能以某种方式获得它。 最佳答案
使用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)