2017-01-04 15 views
0

セレンとPythonを使用してください。私は、URLを取得し、これを行うことにより、それを保存しようとしています:印刷し現在のブラウザのURLを取得して、セレンとPythonを使用して保存します。

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 

URLがgoogle.comとないているGmailの新しいクリックしたリンクです。 私の質問は、どのように私は2番目のURLを取得し、それを保存することです。

+0

ページを読み込むために一時停止してみてください。 – Fejs

答えて

1

新しいページが読み込まれる前に、現在のURLが取得されています。 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リンクを見つけるための方法を改善してきたどのように注意してください。

関連する問題