<p>要自动提取URL缩短器的结果值,您需要为<code>visibility_of_element_located()</code>引入<em>WebDriverWait</em>,并且可以使用以下<a href="https://stackoverflow.com/questions/48369043/official-locator-strategies-for-the-webdriver/48376890#48376890">Locator Strategies</a>:</p>
<ul>
<li><p>代码块:</p>
<pre><code>from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
options = webdriver.ChromeOptions()
options.add_argument("start-maximized")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
URLS = ['https://selenium.dev/downloads/','https://selenium.dev/documentation/en/']
for i in URLS:
driver = webdriver.Chrome(options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
driver.get("http://paylinx.pw/linx/")
element = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input#url")))
element.clear()
element.send_keys(i)
driver.find_element_by_css_selector("button.btn-captcha#invisibleCaptchaShort").click()
print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.input-group>input.form-control.input-lg"))).get_attribute("value"))
driver.quit()
</code></pre></li>
<li><p>控制台输出:</p>
<pre><code>http://paylinx.pw/linx/Uksheqw8
http://paylinx.pw/linx/s0DA44C
</code></pre></li>
</ul>