【发布时间】:2020-12-31 04:12:29
【问题描述】:
我正在使用 selenium 和 python3。 我有一个LIST id 喜欢使用 nth-child(1n) 在我的脚本中循环
for n in self.driver_web_browser.find_element_by_css_selector('#ctl00_ContentPlaceHolder1_Estadocombo > option:nth-child({n})'):
str.append(n.text())
print(str)
我遇到错误请帮忙。
for n in self.driver_web_browser.find_elements_by_css_selector('#ctl00_ContentPlaceHolder1_Estadocombo > option:nth-child({n})'):
文件“/Users/ef/Desktop/MyBot/myBot/BOTS/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py”,第 614 行,在 find_elements_by_css_selector return self.find_elements(by=By.CSS_SELECTOR, value=css_selector) 文件“/Users/ef/Desktop/MyBot/myBot/BOTS/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py”,第 1007 行,在 find_elements 'value': value})['value'] 或 [] 文件“/Users/ef/Desktop/MyBot/myBot/BOTS/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py”,第 321 行,在执行 self.error_handler.check_response(响应) 文件“/Users/ef/Desktop/MyBot/myBot/BOTS/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py”,第 242 行,在 check_response 引发异常类(消息、屏幕、堆栈跟踪) selenium.common.exceptions.InvalidSelectorException:消息:无效选择器:指定了无效或非法的选择器 (会话信息:chrome=85.0.4183.102)
【问题讨论】:
-
什么样的错误?
-
你应该使用 find_elements 来返回 webelements 列表
-
@Sureshmani,谢谢你的帮助,但仍有问题
-
@edward - 你想提取下拉菜单的文本吗?或者您想从下拉列表中提取特定元素的文本?
-
@DilipMeghwal 我正在尝试提取整个下拉列表。让我试试下面的解决方案。我没有使用过选择。但是我发现了一个不同的解决方案,它也可以工作。Select 方法看起来更简单,这很棒!非常感谢!
标签: python-3.x selenium webdriver chromium