मैं इस वेबसाइट से डेटा स्क्रैप कर रहा हूँ। तत्व नीचे है और जेकोड्राइवर

<img class="getdata-button" style="float:right;" src="/common/images/btn-get-data.gif" id="get" onclick="document.getElementById('submitMe').click()">

लेकिन इसे क्लिक करने के लिए सेलेनियम नहीं मिल सकता है, यहां तक ​​​​कि xpath, id की भी कोशिश की गई है, लेकिन भाग्य नहीं है कि इसे पूरा करने के लिए कोई फिक्स या काम है?

1
Zac 4 पद 2020, 11:29

2 जवाब

सबसे बढ़िया उत्तर

तत्व डेटा प्राप्त करें पर क्लिक करने के लिए आप निम्न में से किसी एक का उपयोग कर सकते हैं लोकेटर रणनीतियां:

  • css_selector का उपयोग करना:

    driver.find_element_by_css_selector("img.getdata-button#get").click()
    
  • xpath का उपयोग करना:

    driver.find_element_by_xpath("//img[@class='getdata-button' and @id='get']").click()
    

आदर्श रूप से, उस तत्व पर क्लिक करने के लिए जिसे आपको प्रेरित करने की आवश्यकता है WebDriverWait element_to_be_clickable() के लिए और आप निम्न में से किसी एक का उपयोग कर सकते हैं लोकेटर रणनीतियां:

  • CSS_SELECTOR का उपयोग करना:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "img.getdata-button#get"))).click()
    
  • XPATH का उपयोग करना:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//img[@class='getdata-button' and @id='get']"))).click()
    
  • नोट: आपको निम्नलिखित आयात जोड़ने होंगे:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    
2
DebanjanB 4 पद 2020, 13:25

आपको शायद id . द्वारा प्रयास करना चाहिए

driver.find_element(By.ID, 'get').click()
0
Crapy 4 पद 2020, 11:37