मैं Pycharm में एक इंटरनेट साइट के परीक्षण को स्वचालित करने का प्रयास करता हूं। लाइन 15 में एक चेतावनी है: "बिना उपयोग के ऊपर परिभाषित 'पुनः घोषित 'बटन'"। इसका क्या मतलब है? ("विकल्प" के साथ भी यही कहानी है)

from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome(executable_path=r'C:\TestFiles\chromedriver.exe')

locator = (By.ID, "guestname")
locator_css = (By.CSS_SELECTOR, "#guestname")
guest_input = driver.find_element(*locator)

guest_input.send_keys("Marcin Pilzak")

locator2 = (By.CSS_SELECTOR, "button.MuiButton-containedPrimary")
button = driver.find_element(*locator2)

(LINE 15) button = driver.find_element_by_css_selector("button.MuiButton-containedPrimary")

button.click()

locator2 = (By.CSS_SELECTOR, "__button")
button = driver.find_element(*locator2)

button = driver.find_element_by_css_selector("__button")
.
button.click()

choices = driver.find_elements_by_xpath("//div[contains('name') and contains(@class, '__input')]".sendKeys("UserName"))

choices = driver.find_elements_by_xpath("//div[contains('email') and contains(@class, '__input')]".sendKeys("Email"))

choices = driver.find_elements_by_xpath("//div[contains('phone') and contains(@class, '__input')]".sendKeys("Phone"))
1
Virtual107 9 सितंबर 2019, 10:47

1 उत्तर

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

आप दो बार button घोषित कर रहे हैं!

क्या होता है कि अजगर दुभाषिया सिर्फ अंतिम घोषणा का उपयोग करता है इसलिए चेतावनी:

"पुन: घोषित 'बटन' बिना उपयोग के ऊपर परिभाषित किया गया है"

यदि आप एक चर को फिर से घोषित करना चाहते हैं तो आप कर सकते हैं लेकिन यदि आप इसे पुन: घोषित करने से पहले इसका उपयोग नहीं करते हैं तो आपको वह चेतावनी मिल जाएगी!

आपको प्रत्येक चर के लिए एक अद्वितीय नाम देना चाहिए!

choices आपको यह चेतावनी नहीं देगा क्योंकि आप इसका उपयोग send_keys के लिए करते हैं।

फिर भी आपको इसे इसमें बदलना चाहिए:

choices = driver.find_elements_by_xpath("//div[contains(., 'name') and contains(@class, '__input')]").send_keys("UserName")

choices = driver.find_elements_by_xpath("//div[contains(., 'email') and contains(@class, '__input')]").send_keys("Email")

choices = driver.find_elements_by_xpath("//div[contains(., 'phone') and contains(@class, '__input')]").send_keys("Phone")

send_keys() फ़ंक्शन को xpath से बाहर होना चाहिए...

1
DebanjanB 12 सितंबर 2019, 16:14