【问题标题】:Selenium webdriver using switch_to_windows() and printing the title doesn't print the title.Selenium webdriver 使用 switch_to_windows() 并打印标题不会打印标题。
【发布时间】:2016-03-01 07:18:56
【问题描述】:

这里是代码

for handle in browser.window_handles:
    print "Handle = ",handle
    browser.switch_to_window(handle);
    elem = browser.find_element_by_tag_name("title")
    print elem.get_attribute("value")

我得到以下输出

Handle =  {564f8459-dd20-45b8-84bf-97c69f369738}
None
Handle =  {85338322-5e58-4445-8fe3-3e822d5a0caf}
None

获得句柄后,我切换到窗口并打印标题。为什么我没有看到任何标题。不会有标题吗?当我看到页面的 html 源代码时,我看到了标题标签。

【问题讨论】:

    标签: python selenium


    【解决方案1】:
    driver.switch_to_window(driver.window_handles[-1])
    title=driver.title
    

    您只需使用上面的代码即可。 driver.window_handles[-1] 会得到最新的窗口。

    【讨论】:

    • 莫西你真是个天才!!
    • “减一”总是最近打开的窗口?
    • @JuanÁlvarezArquillos,不,不是。我的浏览器在打开它的标签之后立即打开新标签。
    【解决方案2】:

    页面标题不会出现在title 元素的value 属性中,而是该元素的文本内容。

    访问该文本的正确方法是browser.find_element_by_tag_name("title").text

    或者更简单,只需访问browser.title

    【讨论】:

    • 你能告诉我如何获取内容吗?我基本上是想检查是不是404 Not found错误。
    • 太好了,我现在可以拿到标题了。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2019-11-08
    • 1970-01-01
    • 2017-11-13
    • 1970-01-01
    • 2022-01-27
    • 1970-01-01
    • 2019-12-09
    • 2023-04-05
    相关资源
    最近更新 更多