【问题标题】:Python selenium iterate through Class NamePython selenium 遍历类名
【发布时间】:2023-03-25 14:29:01
【问题描述】:

我正在尝试遍历所有具有类名status ready 的项目,然后在每次迭代时执行一些操作。

我的问题是,即使我等了很久才搜索那个类名,也没有找到:

wait(driver, 600).until(EC.presence_of_element_located((By.CLASS_NAME, "status ready")))

这是 chrome 检查的顶部 http://pastebin.com/4aMyb8yV

(重要的部分是 class='status ready') 该网站是无限滚动的,但我想遍历元素,即使我一开始看不到它们。

【问题讨论】:

    标签: python selenium classname


    【解决方案1】:

    您不能使用复合类搜索By.CLASS_NAME,而是使用By.CSS_SELECTOR

    wait(driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, ".status.ready")))
    

    【讨论】:

    • 好的,你能帮我弄清楚如何迭代它们,甚至是那些直到页面向下滚动才加载的那些?
    • 您的意思是该页面应该从一些XHR 获取数据以呈现更多内容?我建议您尝试循环driver.find_element_by_xpath('//body').send_keys(Keys.END) 向下滚动页面并触发新的XHR,但这可能不是那么简单
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-09
    • 1970-01-01
    • 2012-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多