单击链接后查找URL

时间:2017-07-17 12:11:01

标签: python selenium web-scraping

如何在点击元素后使用selenium查找当前网址。我有这个网站:http://www.runningintheusa.com/Classic/View.aspx?RaceID=5622

我有代码(假设导入了所有相关的库)

def get_detail(x):
    dic = {}
    driver = webdriver.PhantomJS(path)
    driver.get(x)
    driver.find_element_by_id('ctl00_ctl00_MainContent_hypPrimaryURL').click()
    return driver.current_url
print get_detail('http://www.runningintheusa.com/Classic/View.aspx?RaceID=5622')

我运行了代码,它只返回原始网址http://www.runningintheusa.com/Classic/View.aspx?RaceID=5622

点击网站上的竞赛网站链接http://flagstaffbigs.org/dave-mckay-run.htm

后如何找到网址

2 个答案:

答案 0 :(得分:4)

是否因为新选项卡正在打开,这将选择活动的最新选项卡。

driver.switch_to_window(driver.window_handles[-1])
return driver.current_url;

答案 1 :(得分:1)

我在这里尝试了网站,当您点击该元素时,您实际打开了另一个标签。因此,driver.current_url返回原始网址,因为它没有更改,您只使用新网址创建了一个新标签。

您需要做的是将驱动程序更改为新选项卡并获取其URL,或将链接更改为在同一选项卡中打开。

Here is an example of switching to a new tab in Java.

要在同一标签中更改要打开的链接,您只需从HTML中删除target =“_ blank”即可。