当前位置: 首页 > 知识库问答 >
问题:

单击链接后查找URL

宋稳
2023-03-14

点击一个元素后,如何使用selenium找到当前url?我有这个网站: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个答案

华烈
2023-03-14

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

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

这是一个在Java中切换到新标签的例子。

要将链接更改为在同一选项卡中打开,您可以简单地从超文本标记语言中删除目标="_blank"。

关翰
2023-03-14

是因为正在打开一个新选项卡,这将选择活动的最新选项卡吗?

driver.switch_to_window(driver.window_handles[-1])
return driver.current_url;
 类似资料:
  • 我搞不懂这个。 我在这个网站上工作,我使用Python中的selenium来单击类名“yellow showPopupUnder”下的第一个元素(屏幕的主要部分有20行关于房屋的黄色信息)。 当我让Selenium点击该行后,它会打开并显示更多信息。我对有“选中”和“未选中”框的部分感兴趣。这些复选框位于这样的div中: 未选中的框位于一个div中,如下所示: 我试着用几种方法联系他们: 我还尝试

  • 我想查找并比较表中的标题。然后单击标题接下来3行中的删除按钮。 示例:假设给定的输入是标题 2。我想搜索标题2并查看它是否存在,然后单击与“标题2”关联的删除按钮(如3-4行之后)。 到目前为止,这是我最接近的代码。唯一的问题是它总是点击第一个选项,而不是我想让它去的地方。 String HeadingName=“Heading 2” driver.findElement(By.xpath(“//

  • 我正在写一份时事通讯,你可以在这里找到: http://www.conrad-stanen.nl/nieuwsbrief/12_2015/ 所有链接工作正常。包括右侧的文本框和图像。 以电子邮件形式发送这种超文本标记语言格式适用于Mac邮箱,但对于Windows Outlook 2013,它会阻止右栏中的大部分链接,这意味着链接不可点击。 我已经尝试过使用带有模板的邮件黑猩猩,但它仍然会给出错误。

  • 问题内容: 我正在使用python的机械化模块导航网站,并且无法单击下一页的javascript链接。我做了一些阅读,有人建议我需要python- spidermonkey和DOMforms。我设法通过不知道实际单击链接的语法来安装它们。 我可以将页面上的代码标识为: 有人知道如何单击吗?或者也许还有另一种工具。 谢谢 问题答案: 对于这些用例,我主要在jython下使用HtmlUnit。我还发表

  • Iam测试了以下网页:http://www.guiadosliflrinhos.com/todas-capas-disponiveis 我需要在分页信息页导航喜爱。我需要点击链接javascript下一页: JavaScript:__doPostback('CTL00$MainContent$LSTProfileview$DataPagerNumeric2$CTL02$CTL00') 我的代码返回

  • 你好,这就是我想做的。我想在用户单击链接后显示警报框。我的链接指向另一个php页面,但它将再次返回到找到链接的页面。我怎样才能做到这一点?有人能告诉我怎么做吗? 这是我尝试过的,但不起作用。