为了保证我的信任钱包帐户的安全,我经常注销我的帐户,并决定编写一个Python代码来快速重新登录,但是当我尝试使用xpath或css选择之类的东西来选择它时,我收到错误在照片里。另外,我的代码如下。
代码
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
# chrome ayarlamaları
options = webdriver.ChromeOptions()
options.add_extension('C:/Users/JAXXXXX/AppData/Local/Google/Chrome/User Data/Default/Extensions/egjidjbpglichdcondbcbdnbeeppgdph/2.11.0_0.crx')
# sürücü başlatma
driver = webdriver.Chrome(options=options)
time.sleep(10)
# Butonun yüklenmesini bekleme
buton = driver.find_element(By.CSS_SELECTOR, "ph-no-capture w-full block flex-1 outline-none bg-transparent title-text font-medium text-left")
buton1.click()
错误
Traceback (most recent call last):
File "C:\Users\JAXXXXX\Desktop\aa\trust.py", line 17, in <module>
buton = driver.find_element(By.CSS_SELECTOR, "ph-no-capture w-full block flex-1 outline-none bg-transparent title-text font-medium text-left")
File "C:\Users\JAXXXXX\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 831, in find_element
return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"]
File "C:\Users\JAXXXXX\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 440, in execute
self.error_handler.check_response(response)
File "C:\Users\JAXXXXX\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 245, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"ph-no-capture w-full block flex-1 outline-none bg-transparent title-text font-medium text-left"}
(Session info: chrome=124.0.6367.92)
Stacktrace:
GetHandleVerifier [0x00007FF66C381502+60802]
(No symbol) [0x00007FF66C2FAC02]
(No symbol) [0x00007FF66C1B7CE4]
(No symbol) [0x00007FF66C206D4D]
(No symbol) [0x00007FF66C206E1C]
(No symbol) [0x00007FF66C24CE37]
(No symbol) [0x00007FF66C22ABBF]
(No symbol) [0x00007FF66C24A224]
(No symbol) [0x00007FF66C22A923]
(No symbol) [0x00007FF66C1F8FEC]
(No symbol) [0x00007FF66C1F9C21]
GetHandleVerifier [0x00007FF66C68411D+3217821]
GetHandleVerifier [0x00007FF66C6C60B7+3488055]
GetHandleVerifier [0x00007FF66C6BF03F+3459263]
GetHandleVerifier [0x00007FF66C43B846+823494]
(No symbol) [0x00007FF66C305F9F]
(No symbol) [0x00007FF66C300EC4]
(No symbol) [0x00007FF66C301052]
(No symbol) [0x00007FF66C2F18A4]
BaseThreadInitThunk [0x00007FF9911E7344+20]
RtlUserThreadStart [0x00007FF9929626B1+33]
我尝试了 XPath 和 CSS 选择器。
如果没有看到 HTML,你的 CSS 选择器几乎肯定是问题所在。
driver.find_element(By.CSS_SELECTOR, "ph-no-capture w-full block flex-1 outline-none bg-transparent title-text font-medium text-left")
这些都不是标签...它们似乎都是类,这意味着选择器应该是
driver.find_element(By.CSS_SELECTOR, ".ph-no-capture.w-full.block.flex-1.outline-none.bg-transparent.title-text.font-medium text-left").click()
所有这些类可能都不需要唯一地查找元素,但如果没有看到相关的 HTML 或页面本身,我无法确定这一点。