Python Selenium通过data-filter-tag值单击输入标记-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Python Selenium通过data-filter-tag值单击输入标记

2019-01-23 16:28:41 2856 2

我试图让selenium点击输入复选框但面临不同的错误。
这些复选框之间的唯一区别是data-filter-tag值,所以我尝试了这个。

driver.find_element_by_css_selector("input[data-filter-tag='am']").click()
错误

ElementNotVisibleException: Message: element not interactable
网页加载100%

HTML代码:

                        <ul>

                        <li class="filter-checkbox active-filter">
                            <div class="custom-checkbox" style="background-position: 0px center;"><input name="ctl00$ctl00$MainContentPlaceHolder$BaseContentPlaceHolder$pmainedge2edge4_0$ctl00$ctl14$rpFilters$ctl01$ctl00" type="checkbox" class="dealer-locator-filter" data-filter-tag="c"></div>
                            <span data-toggle="popover" data-placement="top" data-trigger="hover" data-content="" data-original-title="" title="">

Crown dealers

                            </span>
                        </li>

                        <li class="filter-checkbox active-filter">
                            <div class="custom-checkbox" style="background-position: 0px center;"><input name="ctl00$ctl00$MainContentPlaceHolder$BaseContentPlaceHolder$pmainedge2edge4_0$ctl00$ctl14$rpFilters$ctl02$ctl00" type="checkbox" class="dealer-locator-filter" data-filter-tag="r"></div>
                            <span data-toggle="popover" data-placement="top" data-trigger="hover" data-content="" data-original-title="" title="">

Authorized dealers

                            </span>
                        </li>

                        <li class="filter-checkbox active-filter">
                            <div class="custom-checkbox" style="background-position: 0px center;"><input name="ctl00$ctl00$MainContentPlaceHolder$BaseContentPlaceHolder$pmainedge2edge4_0$ctl00$ctl14$rpFilters$ctl03$ctl00" type="checkbox" class="dealer-locator-filter" data-filter-tag="cs"></div>
                            <span data-toggle="popover" data-placement="top" data-trigger="hover" data-content="" data-original-title="" title="">

Has service

                            </span>
                        </li>

                        <li class="filter-checkbox active-filter">
                            <div class="custom-checkbox" style="background-position: 0px center;"><input name="ctl00$ctl00$MainContentPlaceHolder$BaseContentPlaceHolder$pmainedge2edge4_0$ctl00$ctl14$rpFilters$ctl04$ctl00" type="checkbox" class="dealer-locator-filter" data-filter-tag="am"></div>
                            <span data-toggle="popover" data-placement="top" data-trigger="hover" data-content="" data-original-title="" title="">

Automower® dealers

                            </span>
                        </li>

                        </ul>

            </div>

完整代码:

from selenium import webdriver
from time import sleep

driver = webdriver.Chrome('./chromedriver/chromedriver')
### website url
driver.get('https://www.husqvarna.com/us/')
sleep(6)
driver.find_element_by_css_selector("input[data-filter-tag='am']").click()

取消 提交回答
全部回答(2)
  • 游客aasf2nc2ujisi
    2019-11-22 11:37:06

    ElementNotVisibleException: Message: element not interactable

    这个错误的意思呢,是元素找到了,但是未在页面展示出来。

    按这思路。在之前加个time.sleep()即可。

    0 0
  • 一码平川MACHEL
    2019-07-17 23:26:43

    如果你用这个相当讨厌的CSS选择器选中一个复选框的周围div,你至少可以点击一个没有例外的复选框。

    checkbox = driver.find_element_by_css_selector("#MainContentPlaceHolder_BaseContentPlaceHolder_pmainedge2edge4_0_ctl00_ctl14_dealerFilters > section:nth-child(1) > div:nth-child(1) > div:nth-child(1) > ul:nth-child(1) > li:nth-child(4) > div:nth-child(1)")
    checkbox.click()
    有很多JavaScript干扰了webdriver自动化。我还没有找到更好的解决方案,但至少你知道有一种方法可以与该复选框进行交互。

    0 0
添加回答
相关问答

0

回答

想问一下,python自定义组件中上层OSS读数据的输入,为啥会报文件不存在啊

2022-08-08 10:59:24 140浏览量 回答数 0

1

回答

Python库中的curses模块添加一个基本的文本输入小部件的方法有哪些?

2021-12-04 13:17:55 123浏览量 回答数 1

1

回答

Python脚本文件的输入参数是什么?

2021-12-02 19:25:24 278浏览量 回答数 1

1

回答

python中让用户在控制台中输入年龄怎么写呢?

2021-11-12 13:36:21 151浏览量 回答数 1

1

回答

python中输入/输出操作失败它的异常显示是什么呢?

2021-11-07 10:15:03 218浏览量 回答数 1

1

回答

python中删除输入的元素名的代码是什么呀?

2021-11-01 00:47:36 377浏览量 回答数 1

1

回答

python循环控制函数matrix,使得他可以将输入的列表转化为一个行列数自定的矩阵

2021-10-31 15:51:10 258浏览量 回答数 1

1

回答

python输入二维数组该如何弄?

2021-10-31 15:48:37 210浏览量 回答数 1

1

回答

python循环判定不成立了还在一直循环,将不一样的值作参数输入函数后却还是原来的值?

2021-10-31 11:55:57 233浏览量 回答数 1

1

回答

Python中通过input传参输入数字相加为啥报错了

2021-10-19 16:18:40 321浏览量 回答数 1
文章
问答
问答排行榜
最热
最新
相关电子书
更多
Python系列直播第一讲——Python中的一切皆对象
立即下载
Python第五讲——关于爬虫如何做js逆向的思路
立即下载
Python 脚本速查手册
立即下载