【问题标题】:How do I resolve the NoSuchElementException error in Selenium?如何解决 Selenium 中的 NoSuchElementException 错误?
【发布时间】:2021-06-21 18:17:52
【问题描述】:

HTML我正在关注关于通过 selenium 抓取 glassdoor 网站的在线教程。 我的代码没有通过这个语句:

    try:
        driver.find_element_by_class_name("selected").click()
        print('x out worked')
    except ElementClickInterceptedException:
        print('x out failed')
        pass

    time.sleep(.1)

    try:
        driver.find_element_by_css_selector('[alt="Close"]').click()
        print(' x out worked')
    except NoSuchElementException:
        print(' x out failed (next page or missing)')
        pass

我收到的错误是:

NoSuchElementException: 消息:没有这样的元素:无法找到元素:{"method":"css selector","selector":".selected"}

我尝试过的几件事:

  1. driver.maximize_window()
  2. driver.implicitly_wait(20)

【问题讨论】:

    标签: selenium web-scraping


    【解决方案1】:

    不看 HTML 就很难判断,但请尝试颠倒引号(单引号/双引号)...

    driver.find_element_by_css_selector("[alt='Close']").click()
    

    或者……

    driver.find_element_by_xpath("//*[@alt='Close']")
    

    如果这不起作用,请将相关的 HTML 部分添加到您的帖子中

    【讨论】:

    • 感谢您的回复。我的代码甚至在第一个 try catch 子句上也没有运行:try: driver.find_element_by_class_name("selected").click() print('x out working') except ElementClickInterceptedException: print('x out failed') pass I have added文章开头我的html截图。
    • 很难从该屏幕截图中分辨出您要定位的元素。您能否突出显示 HTML 中的确切元素并重新发布?
    • 已编辑。我正在尝试单击页面上的第一个作业。
    • 试试这个:driver.find_element_by_xpath("//article[@id='MainCol']/li[1]")
    • 成功了。非常感谢。我在 id = "MainCol" 而不是 id = 'MainCol' 上有双引号。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    • 2020-09-25
    • 2014-05-04
    • 2020-10-04
    • 2020-04-03
    相关资源
    最近更新 更多