如何修复webdriver'对象没有CSS选择器查找元素?

发布于 2025-02-12 12:46:10 字数 1490 浏览 0 评论 0原文

我在沙盒上使用callow。我遇到这些错误:

Traceback (most recent call last):
  File "C:\Users\Joe\callow\callow.py", line 163, in <module>
    wizard()
  File "C:\Users\Joe\callow\callow.py", line 93, in wizard
    brutes(username, username_selector, password_selector, submit_selector, pass_list, website)
  File "C:\Users\Joe\callow\callow.py", line 119, in brutes
    Sel_user = browser.find_element_by_css_selector(username_selector) # Finds Selector
AttributeError: 'WebDriver' object has no attribute 'find_element_by_css_selector'

错误起源于:

try:
        Sel_user = browser.find.element_by_css_selector(username_selector) # Finds Selector
    except selenium.common.exceptions.NoSuchElementException:
        print((color.RED + '\n[!]'+ color.CWHITE + ' Username feild selector is invalid.'))
        sys.stdout.flush()
        exit()
    try:
        Sel_pas = browser.find_element_by_css_selector(password_selector) # Finds Selector
    except selenium.common.exceptions.NoSuchElementException:
        print((color.RED + '\n[!]'+ color.CWHITE + ' Password feild selector is invalid.'))
        sys.stdout.flush()
        exit()
    try:
        enter = browser.find.element_by_css_selector(submit_selector) # Finds Selector
    except selenium.common.exceptions.NoSuchElementException:
        print((color.RED + '\n[!]'+ color.CWHITE + ' Login button selector is invalid.'))
        sys.stdout.flush()
        exit()

如何解决此问题?

I am using callow on a sandbox. I get these errors:

Traceback (most recent call last):
  File "C:\Users\Joe\callow\callow.py", line 163, in <module>
    wizard()
  File "C:\Users\Joe\callow\callow.py", line 93, in wizard
    brutes(username, username_selector, password_selector, submit_selector, pass_list, website)
  File "C:\Users\Joe\callow\callow.py", line 119, in brutes
    Sel_user = browser.find_element_by_css_selector(username_selector) # Finds Selector
AttributeError: 'WebDriver' object has no attribute 'find_element_by_css_selector'

Error originated from:

try:
        Sel_user = browser.find.element_by_css_selector(username_selector) # Finds Selector
    except selenium.common.exceptions.NoSuchElementException:
        print((color.RED + '\n[!]'+ color.CWHITE + ' Username feild selector is invalid.'))
        sys.stdout.flush()
        exit()
    try:
        Sel_pas = browser.find_element_by_css_selector(password_selector) # Finds Selector
    except selenium.common.exceptions.NoSuchElementException:
        print((color.RED + '\n[!]'+ color.CWHITE + ' Password feild selector is invalid.'))
        sys.stdout.flush()
        exit()
    try:
        enter = browser.find.element_by_css_selector(submit_selector) # Finds Selector
    except selenium.common.exceptions.NoSuchElementException:
        print((color.RED + '\n[!]'+ color.CWHITE + ' Login button selector is invalid.'))
        sys.stdout.flush()
        exit()

How can I fix this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

转瞬即逝 2025-02-19 12:46:10

既然它提到了Webdriver,我假设这与硒有关? find_element_by_css_selector已弃用,如果您要使用像Pycharm这样的IDE,它将告诉您:

find_element_by_css_selector被弃用。请使用
find_element(by.css_selector,value = css_selector)而不是

,而不是使用find_element_by_css_selector,请使用以下内容:

Sel_user = browser.findElement(By.CSS_SELECTOR, username_selector)

请参阅官方文档以获取更多信息: https://selenium-python.readthedocs.io/locating-elements.html#locating-elements-elements-elements-by-css-selectors

Since it mentions WebDriver, I'm assuming this is to do with Selenium? find_element_by_css_selector is deprecated, and if you were to use an IDE like PyCharm, it would tell you:

find_element_by_css_selector is deprecated. Please use
find_element(by=By.CSS_SELECTOR, value=css_selector) instead

So instead of using find_element_by_css_selector, consider using:

Sel_user = browser.findElement(By.CSS_SELECTOR, username_selector)

Refer to the official documentation for more information: https://selenium-python.readthedocs.io/locating-elements.html#locating-elements-by-css-selectors.

も星光 2025-02-19 12:46:10

请不要忘记导入对象以访问CSS_SELECTOR属性。我必须导入以下内容以自动化Chrome浏览器中的任务。

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By

options = Options()
# options.add_experimental_option("detach", True)

driver = webdriver.Chrome(
    service=Service(ChromeDriverManager().install()),
     options=options
     )

driver.get("https://www.python.org/")
driver.maximize_window()

input = driver.find_element(By.CSS_SELECTOR,".documentation-widget p")

print(input)

driver.close()
driver.quit()

Please don't forget to import the By object to access the CSS_SELECTOR property. I had to import the following to automate tasks in the Chrome browser.

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By

options = Options()
# options.add_experimental_option("detach", True)

driver = webdriver.Chrome(
    service=Service(ChromeDriverManager().install()),
     options=options
     )

driver.get("https://www.python.org/")
driver.maximize_window()

input = driver.find_element(By.CSS_SELECTOR,".documentation-widget p")

print(input)

driver.close()
driver.quit()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文