ไม่สามารถรับซีลีเนียมเพื่อคลิกปุ่ม

Aug 16 2020

รูปภาพขององค์ประกอบการตรวจสอบของเว็บไซต์ More in Depth pic My Code snippet

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from time import sleep
import requests
///
excel = driver.find_element_by_name('Excel')
excel.click()

จากนั้นฉันจะได้รับสิ่งนี้เมื่อฉันพยายามเรียกใช้ความช่วยเหลือใด ๆ จะได้รับการชื่นชม

NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[name="Excel"]"}

คำตอบ

2 DebanjanB Aug 17 2020 at 05:39

องค์ประกอบที่ต้องการเป็นเชิงมุมองค์ประกอบเพื่อที่จะคลิกองค์ประกอบที่คุณต้องทำให้เกิดWebDriverWaitสำหรับelement_to_be_clickable()และคุณสามารถใช้อย่างใดอย่างหนึ่งดังต่อไปนี้กลยุทธ์ส :

  • ใช้CSS_SELECTOR:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button[mat-button] > span.mat-button-wrapper span"))).click()
    
  • ใช้XPATH:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[@mat-button]/span[@class='mat-button-wrapper']//span[text()='Excel']"))).click()
    
  • หมายเหตุ : คุณต้องเพิ่มการนำเข้าต่อไปนี้:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    
1 hams222 Aug 16 2020 at 13:42

driver.find_element_by_name ('Excel')เลือกแท็กที่มีชื่อ = 'Excel'

ตัวอย่างเช่นจะพบแท็กดังนี้:

<div name='Excel'>Hello</div>.

CSS ที่เทียบเท่าสำหรับ find_element_by_name คือ [name = "Excel"]

จากรูปขององค์ประกอบการตรวจสอบเว็บไซต์ของคุณดูเหมือนว่าคุณกำลังพยายามค้นหาองค์ประกอบที่มีข้อความ 'Excel' อยู่ใน div ดังนั้นคุณต้องใช้ฟังก์ชันต่อไปนี้แทน:

driver.find_element_by_link_text('Excel')

หวังว่าจะช่วยได้!

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ Python selenium webdriver ให้ใช้ลิงก์นี้ มันช่วยฉันได้มาก!