मैं इस वेबसाइट से डेटा स्क्रैप कर रहा हूँ। तत्व नीचे है और जेकोड्राइवर
<img class="getdata-button" style="float:right;" src="/common/images/btn-get-data.gif" id="get" onclick="document.getElementById('submitMe').click()">
लेकिन इसे क्लिक करने के लिए सेलेनियम नहीं मिल सकता है, यहां तक कि xpath, id की भी कोशिश की गई है, लेकिन भाग्य नहीं है कि इसे पूरा करने के लिए कोई फिक्स या काम है?
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
आपको शायद id . द्वारा प्रयास करना चाहिए
driver.find_element(By.ID, 'get').click()
संबंधित सवाल
जुड़े हुए प्रश्न
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।