我一直在嘗試使用 selenium 來瀏覽 soundclouds 網站上的元素,但在與輸入標簽互動時遇到問題。當我嘗試使用發送鍵命令寫入“headerSearch__input”類的輸入標簽時,我得到錯誤“訊息:元素不可互動”。有人可以向我解釋我做錯了什么嗎?
from tkinter import *
import random
import urllib.request
from bs4 import BeautifulSoup
from selenium import webdriver
import time
import requests
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.chrome.options import Options
driver = webdriver.Chrome(executable_path='/Users/quanahbennett/PycharmProjects/SeleniumTest/chromedriver')
url= "https://soundcloud.com/"
driver.get(url)
#time.sleep(30)
wait = WebDriverWait(driver, 30)
#link = driver.find_elements_by_link_text("Sign in")
#link[0].click()
#driver.execute_script("arguments[0].click();", link[0])
#SUCCESFUL LOGIN BUTTON PUSH
#please = driver.find_element_by_css_selector('button.frontHero__loginButton')
#please.click()
attempt = driver.find_element_by_css_selector('input.headerSearch__input')
time.sleep(10)
attempt.send_keys('Hello')
breakpoint()
#driver.quit()
uj5u.com熱心網友回復:
定位器 -input.headerSearch__input突出顯示 DOM 中的兩個不同元素。找到唯一的定位器很重要。鏈接參考
并關閉cookie彈出視窗。然后嘗試與元素進行互動。
嘗試如下并確認。
driver.get("https://soundcloud.com/")
wait = WebDriverWait(driver,30)
# Click on Accept cookies button
wait.until(EC.element_to_be_clickable((By.ID,"onetrust-accept-btn-handler"))).click()
search_field = wait.until(EC.element_to_be_clickable((By.XPATH,"//div[@id='content']//input")))
search_field.send_keys("Sample text")
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/356283.html
上一篇:為什么不能用指標改變字符?
