Python Selenium选择带有空格的div类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python Selenium选择带有空格的div类相关的知识,希望对你有一定的参考价值。

我在尝试选择一个包含一些空格的div标签类时遇到了问题。

这是页面的结构:

<div class="sadasd-dashboardtab even asdasd-syndicating_from_my_file" id="124121_1540012412412414">
    <div id="124121_154006585856856858">
        <span class="label">Syndicating From My File</span>
        <button class="column-dropdown" title="Click for more tab options"></button>
    </div>
</div>

这是我对此部分的代码尝试:

#syndicating_button = driver.find_element_by_xpath("//span[text()='Syndicating From My File']")  
#syndicating_button = driver.find_element_by_xpath("//div[@class='yui3-dashboardtab even s-tab-syndicating_from_my_site']")
syndicating_button = driver.find_element_by_css_selector("div.yui3-dashboardtab.even.s-tab-syndicating_from_my_site")                                               
syndicating_button.click()
答案

您的问题与“空白”/“空格”无关,因为您的选择器应该运行良好...如果元素存在于DOM中。尝试等到元素出现在DOM中并变为可点击:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait as wait
from selenium.webdriver.support import expected_conditions as EC

wait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//span[text()='Syndicating From My Site']"))).click()

以上是关于Python Selenium选择带有空格的div类的主要内容,如果未能解决你的问题,请参考以下文章

Selenium / Python - 带有空格的类名无法本地元素

单击 div 包含带有 selenium python 的特定文本

selenium+python unittest实践过程之问题杂集

在 Selenium python 中包含某些文本的其他 div 中选择某些 div 的方法

带有 Selenium 的 Python:从文件系统拖放到 webdriver?

Python selenium 下拉菜单点击