【问题标题】:How to get img src in string in selenium using python如何使用python在selenium中获取字符串中的img src
【发布时间】:2017-12-26 05:26:07
【问题描述】:

我有一个谷歌搜索结果,类似于

div class="rc"
    h3 class="r"
        <a href="somelink">
            <img id="idFOO" src="data:somethingFOO" style="...">
        </a>

我想使用 python 和 selenium 将 somethingFOO(或 data:somethingFOO)添加到字符串中。我该怎么做?

【问题讨论】:

  • 你想添加什么意思,你的意思是你想获取这个文本并与字符串结合,还是你想在这个文本中添加一些东西?
  • 我想把“somethingFOO”放在一个字符串中。例如,我希望能够执行“返回字符串”,结果是“somethingFOO”。
  • 到目前为止您尝试了哪些方法,哪些方法不起作用?
  • 我试过 myString=browser.find_element_by_class_name("r").text 但我没有得到我想要的。我得到一些其他的文字。我试过 find_element_by_id("idFOO).text 但我什么也没得到。

标签: python image selenium src


【解决方案1】:

试试:

src = driver.find_element_by_xpath("//div[@class='rc]/h3[@class='r']/a/img").get_attribute("src")

P.S.- 使用完整的可用 xpath 以避免实际 DOM 上的重复冲突。

【讨论】:

    【解决方案2】:

    您感兴趣的不是文本,而是名称为 src 的属性。所以如果你会做这样的事情,你不会得到你想要的。

    find_element_by_id("idFOO").text

    如果你的html是这样的,

    <input id="demo">hello world </input>
    

    那么下面的代码会给你hello world

    driver.find_element_by_id("demo").text
    

    下面的代码会给你演示

    driver.find_element_by_id("demo").get_attribute("id")
    

    所以在你的情况下,它应该是

    driver.find_element_by_id("idFOO").get_attribute("src")

    【讨论】:

    • @cosminp 你可以选择答案,如果它有效,那么它可以帮助其他人。
    • 就这么做了。 :) 如果可以的话,我可以做一些事情来只在 driver.find_element_by_id("idFOO") 中查找子字符串吗?我想要像 driver.find_element_by_id("idF*") 这样的东西。
    • 是的,driver.find_element_by_xpath("//*[contains(@id,'idF')]")
    • 非常感谢!
    猜你喜欢
    • 2013-02-25
    • 1970-01-01
    • 2022-09-28
    • 1970-01-01
    • 2019-09-18
    • 2016-02-11
    • 1970-01-01
    • 1970-01-01
    • 2014-03-26
    相关资源
    最近更新 更多