使用selenium和python获取当前浏览器URL并保存

时间:2017-01-04 18:38:10

标签: python selenium

使用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。 我的问题是,如何获取第二个网址并保存。

1 个答案:

答案 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链接的方式。