使用selenium和python。我试图获取一个URL并通过这样做保存它:
driver = webdriver.Firefox()
driver.get("https://google.com")
elem = driver.find_element(By.XPATH, "/html/body/div/div[3]/div[1]/div/div/div/div[1]/div[1]/a")
elem.click()
url = driver.current_url
print url
打印的网址是google.com而不是新点击的链接gmail。 我的问题是,如何获取第二个网址并保存。
答案 0 :(得分:1)
您在加载新页面之前获取当前网址。例如,添加Explicit Wait,等待网页标题包含" Gmail":
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.Firefox()
driver.get("https://google.com")
# click "Gmail" link
elem = driver.find_element_by_link_text("Gmail")
elem.click()
# wait for the page to load
wait = WebDriverWait(driver, 10)
wait.until(EC.title_contains("Gmail"))
url = driver.current_url
print(url)
另请注意我如何改进了找到Gmail
链接的方式。