<small id='gGt5m'></small><noframes id='gGt5m'>

  1. <i id='gGt5m'><tr id='gGt5m'><dt id='gGt5m'><q id='gGt5m'><span id='gGt5m'><b id='gGt5m'><form id='gGt5m'><ins id='gGt5m'></ins><ul id='gGt5m'></ul><sub id='gGt5m'></sub></form><legend id='gGt5m'></legend><bdo id='gGt5m'><pre id='gGt5m'><center id='gGt5m'></center></pre></bdo></b><th id='gGt5m'></th></span></q></dt></tr></i><div id='gGt5m'><tfoot id='gGt5m'></tfoot><dl id='gGt5m'><fieldset id='gGt5m'></fieldset></dl></div>

    <tfoot id='gGt5m'></tfoot>
    1. <legend id='gGt5m'><style id='gGt5m'><dir id='gGt5m'><q id='gGt5m'></q></dir></style></legend>
      • <bdo id='gGt5m'></bdo><ul id='gGt5m'></ul>

      Selenium python find_element_by_class_name() 从 v 2.2 到 2.21

      Selenium python find_element_by_class_name() stopped working from v 2.2 to 2.21 -- cannot use #39;Compound Class Name#39;(Selenium python find_element_by_class_name() 从 v 2.2 到 2.21 停止工作——不能使用“复合类名) - IT屋-程序员软件开发技

        <legend id='hL4dy'><style id='hL4dy'><dir id='hL4dy'><q id='hL4dy'></q></dir></style></legend>

        <i id='hL4dy'><tr id='hL4dy'><dt id='hL4dy'><q id='hL4dy'><span id='hL4dy'><b id='hL4dy'><form id='hL4dy'><ins id='hL4dy'></ins><ul id='hL4dy'></ul><sub id='hL4dy'></sub></form><legend id='hL4dy'></legend><bdo id='hL4dy'><pre id='hL4dy'><center id='hL4dy'></center></pre></bdo></b><th id='hL4dy'></th></span></q></dt></tr></i><div id='hL4dy'><tfoot id='hL4dy'></tfoot><dl id='hL4dy'><fieldset id='hL4dy'></fieldset></dl></div>
              <tbody id='hL4dy'></tbody>
          • <tfoot id='hL4dy'></tfoot>

            <small id='hL4dy'></small><noframes id='hL4dy'>

                <bdo id='hL4dy'></bdo><ul id='hL4dy'></ul>
                本文介绍了Selenium python find_element_by_class_name() 从 v 2.2 到 2.21 停止工作——不能使用“复合类名"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                问题描述

                我正在使用 Selenium 的 python 库从 Firefox 的 html 页面中抓取数据.

                I am using Selenium's python library to scrape data from a html page in Firefox.

                我不得不从 Selenium 2.0 更新到 2.21,因为服务器已经更新了 Firefox.

                I have had to update from Selenium 2.0 to 2.21 because the server has updated Firefox.

                在 v 2.21 中,调用 find_element_by_class_name("grid-cell-inner grid-col-name") 失败并显示:

                In v 2.21 calls to find_element_by_class_name("grid-cell-inner grid-col-name") fails with:

                selenium.common.exceptions.WebDriverException: Message: u'Compound class names not permitted'
                

                我试图访问的元素的类名是 grid-cell-inner grid-col-name

                The class name of the element I am trying to access is grid-cell-inner grid-col-name

                find_element_by_class_name() 的调用在 v 2.2 中有效,所以逻辑是正确的,并且以前可以找到数据.v 2.21 中发生了一些变化.

                The call to find_element_by_class_name() worked in v 2.2, so the logic is correct, and the data used to be found OK. Something changed in v 2.21.

                所有 Selenium 示例都给出了类名称为 foo 等的简单示例,没有我需要访问的名称类型.

                All the Selenium examples give simple examples with class name foo etc, and none with the type of name I need to access.

                为什么 Selenium 停止支持查找名称为 grid-cell inner grid-col-name 的类,以及他们的解决方案是什么?

                Why did Selenium stop supporting finding classes with names like grid-cell inner grid-col-name, and what it their solution?

                有人可以帮我找到复合"的元素吗?类名?

                Can someone please help me to find elements with "compound" class names?

                推荐答案

                WebDriver 的问题是它还在进化.很多.我个人不知道有哪个版本支持在一个命令中搜索多个类,所以它一定是一个相当古老的版本:).

                The problem about WebDriver is that it still evolves. A lot. I personally don't know about a version that supported searching by many classes in one command, so it must have been a fairly old one :).

                通过 CSS 选择器 搜索应该可以,但是:

                Searching by a CSS selector should work, however:

                find_element_by_css_selector(".grid-cell-inner.grid-col-name");
                

                我不建议对这个特定的东西使用 XPath,因为下面这两个表达式是另一回事:

                I don't recommend using XPath for this particular thing, because these two following expressions are a different thing:

                //*[class='grid-cell-inner grid-col-name']

                //*[class='grid-col-name grid-cell-inner']

                这篇关于Selenium python find_element_by_class_name() 从 v 2.2 到 2.21 停止工作——不能使用“复合类名"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                相关文档推荐

                env: python: No such file or directory(env: python: 没有这样的文件或目录)
                How to evaluate environment variables into a string in Python?(如何在 Python 中将环境变量评估为字符串?)
                Python - temporarily modify the current process#39;s environment(Python - 临时修改当前进程的环境)
                Change current process environment#39;s LD_LIBRARY_PATH(更改当前进程环境的 LD_LIBRARY_PATH)
                Reading and writing environment variables in Python?(在 Python 中读写环境变量?)
                When to use sys.path.append and when modifying %PYTHONPATH% is enough(何时使用 sys.path.append 以及何时修改 %PYTHONPATH% 就足够了)

                          <bdo id='OpvMr'></bdo><ul id='OpvMr'></ul>

                        • <i id='OpvMr'><tr id='OpvMr'><dt id='OpvMr'><q id='OpvMr'><span id='OpvMr'><b id='OpvMr'><form id='OpvMr'><ins id='OpvMr'></ins><ul id='OpvMr'></ul><sub id='OpvMr'></sub></form><legend id='OpvMr'></legend><bdo id='OpvMr'><pre id='OpvMr'><center id='OpvMr'></center></pre></bdo></b><th id='OpvMr'></th></span></q></dt></tr></i><div id='OpvMr'><tfoot id='OpvMr'></tfoot><dl id='OpvMr'><fieldset id='OpvMr'></fieldset></dl></div>

                        • <small id='OpvMr'></small><noframes id='OpvMr'>

                            <tbody id='OpvMr'></tbody>
                          <legend id='OpvMr'><style id='OpvMr'><dir id='OpvMr'><q id='OpvMr'></q></dir></style></legend>
                          <tfoot id='OpvMr'></tfoot>