मैं पायथन सीख रहा हूं और अब मुझे सेलेनियम की समस्या है। जब मैं हेडलेस मोड के बिना वेबसाइट पर लॉग इन कर रहा हूं तो प्रोग्राम अच्छी तरह से काम करता है लेकिन जब मैं इसका इस्तेमाल करता हूं तो विफल रहता है। मुझे हेडलेस मोड का उपयोग करना होगा क्योंकि अगर मैं इसे अक्षम नहीं करता तो कोड हेरोकू पर विफल रहता है।

मैं मूल्य = "वर्ष" का चयन करना चाहता हूं:

<select name="duration" id="duration" aria-required="true" class="c-form__select is-touched">
    <option role="option" value="session" aria-selected="false" selected="">This session only</option>
    <option role="option" value="day" aria-selected="false">1 day</option>
    <option role="option" value="week" aria-selected="false">1 week</option>
    <option role="option" value="month" aria-selected="false">1 month</option>
    <option role="option" value="year" aria-selected="false">1 year</option>
</select>

वर्ष का चयन करने के लिए यह मेरा वास्तविक कोड है:

xpath = "//*[@id='duration']/option[text()='1 year']"
duration_field = browser.find_element_by_xpath(xpath)
duration_field.click()

जब यह मान पर क्लिक करता है तो यह विफल हो जाता है। क्या आप इस समस्या को हल करने में मेरी मदद कर सकते हैं? तो कार्यक्रम पूरी तरह से चालू है और हरोकू में धकेलने के लिए तैयार है।

1
ElBambino_PY 15 अक्टूबर 2020, 15:00

1 उत्तर

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

हेडलेस ब्राउज़र मोड का उपयोग करते समय, ईवेंट का आकार सेट करने की अनुशंसा की जाती है। आप इस कोड के साथ ऐसा कर सकते हैं।

options = webdriver.ChromeOptions()
options.add_argument('--headless')

options.add_argument('window-size=1920x1080'); # add this line to set the size
0
NicolasM3 15 अक्टूबर 2020, 13:07