Selenium 无法按类名查找元素

标签 selenium selenium-webdriver selenium-chromedriver selenium-ide

<table class="sc-fAEnHe ePMtc">
<tbody>
<tr class="sc-fAEnHe ePMtc">
<td classs"sc-jEECVv IBUtl">
</td>
</tr>

当我使用 Selenium 的按类查找元素时,它能够找到该元素,我什至尝试用“.”、“-”和“_”替换空格(在 e 和 r 或 v 和 I 之后)但是它没有用。 我使用了下面的代码

try:
    match_history_table = WebDriverWait(driver, 30).until(
        EC.presence_of_element_located((By.CLASS_NAME, 'sc-fAEnHe ePMtc'))
    )
except Exception:
    print("Error Finding Match History Table")
    driver.quit()

它总是返回异常(EC 是 selenium.webdriver.support.expected_conditions) >注意:按标签查找元素对我来说不是一个选项

最佳答案

这是来自 By.CLASS_NAME 的文档,在 selenium-java-bindings 中找到。

Find elements based on the value of the "class" attribute. Only one class name should be used. If an element has multiple classes, please use cssSelector(String).

尝试使用 (By.CSS_SELECTOR, '.sc-fAEnHe.ePMtc'):

try:
    match_history_table = WebDriverWait(driver, 30).until(
        EC.presence_of_element_located((By.CSS_SELECTOR, '.sc-fAEnHe.ePMtc'))
    )
except Exception:
    print("Error Finding Match History Table")
    driver.quit()


引用文献

class name Returns an element whose class name contains the search value; compound class names are not permitted.

关于Selenium 无法按类名查找元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70861500/

相关文章:

java - Selenium 网络驱动程序 : How to verify a text that is within h2 and duplicated class

Python Selenium Webdriver Wait.Until 显示错误正好需要 2 个参数 3

Python Selenium Chrome 网络驱动程序

python - 从 Selenium 中的 Twitter 视频页面查找直接视频链接属性

java - Selenium 在 Chrome 驱动程序中遇到错误

python - 升级到 Chromedriver 76 导致警报自动关闭

java - 如何验证整列具有相同的值

python - 通过调用页面的 PageObject 导航到该页面

python-3.x - 如何在 Selenium + Python 中查找损坏的链接

python - selenium.common.exceptions.WebDriverException : Message: unknown error: Failed to create a Chrome process