【问题标题】:how to select an id which has space python selenium如何选择具有空间 python selenium 的 id
【发布时间】:2021-10-10 13:19:38
【问题描述】:

我正在尝试使用 selenium 获取中间有空格的 id 的值。 HTML 看起来像这样

    <div id="buyAlchemy lab" onclick="Buy('Alchemy lab');" style="background-image:url(labicon.png);" class="grayed">Turns gold into cookies!</div>

如何选择此 id 的文字?

如果我这样做

    driver.find_element_by_css_selector("div #buyAlchemy lab").text

我收到一个错误提示

    selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"div #buyAlchemy lab"}
     

【问题讨论】:

  • 在这种情况下,您可以使用 xpath like '//div[id="buyAlchemy lab"]' 代替 id 或使用 css 选择器 div[id='buyAlchemy lab']
  • 您是否尝试过简单地执行find_element_by_xpath look here,或者可能有一个 time.sleep() 以确保您的元素已正确加载到屏幕上。

标签: python html selenium-webdriver


【解决方案1】:

你可以使用id:

driver.find_element_by_id("buyAlchemy lab").text

或xpath:

driver.find_element_by_xpath("//div[@id='buyAlchemy lab']").text

【讨论】:

  • driver.find_element_by_id("buyAlchemy lab").text 这行得通!非常感谢!
  • 不客气! XPath 也应该可以工作。至于 CSS 选择器,这很有趣。我也在尝试使用 CSS 选择器找到解决方案。
  • 你能试试这个,让我知道它是否有效吗? driver.find_element_by_css_selector("div#buyAlchemy#lab").text ?
  • 嗨,这不起作用,我仍然收到“NoSuchElementException”
  • 不确定传递它的方法,但只是通过这个link。当我有类似&lt;div id="buyCursor" onclick="Buy('Cursor');" style="background-image:url(cursoricon.png);" class="grayed"&gt;Clicks automatically!&lt;/div&gt; 的东西时,获得价值不是问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-20
  • 1970-01-01
  • 2022-12-01
  • 2021-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多