【问题标题】:Selenium ElementNotVisibleException: Message: element not interactableSelenium ElementNotVisibleException:消息:元素不可交互
【发布时间】:2019-04-19 04:49:06
【问题描述】:

我正在尝试抓取一个需要单击“查看全部”按钮才能查看 html 中的更多项目的网站。问题是,我通过谷歌找到的解决方案似乎都没有帮助/适用。

查看全部选项卡具有类“shelf_view-all”,但是当我将它传递给我的驱动程序以查找元素时,我收到一个错误,即它不可交互。

我的代码附在下面;有人对让 Selenium 点击这个有什么想法吗?

from selenium import webdriver
import os
chromedriver = "/usr/local/bin/chromedriver"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome('/usr/local/bin/chromedriver')
url='https://cn.burberry.com/womens-coats-jackets/#cat3850051'
driver.get(url)
driver.find_element_by_class_name('shelf_view-all').click()

【问题讨论】:

  • 使用您尝试自动化的确切手动步骤更新问题

标签: python selenium selenium-webdriver


【解决方案1】:

class shelf_view-all 返回 5 个元素并且您选择的第一个元素不是正确的目标,请使用

find_elements_by_class_name

或css选择器

driver.find_elements_by_class_name('shelf_view-all')[4].click()
# or
driver.find_element_by_css_selector('#cat3850051 .shelf_view-all').click()

【讨论】:

    猜你喜欢
    • 2018-03-25
    • 1970-01-01
    • 2019-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-04
    相关资源
    最近更新 更多