如何在点击元素后使用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
后如何找到网址答案 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”即可。