for i in range (1,6):
   col = driver.find_elements_by_tag_name("td")

  for j in range (1,7):
     xpath_string = ('/html/body/div[3]/ul/li[1]/div/div[1]/table/tbody/**tr[{0}]**/**td[{1}]**'.format(str(j), str(i)))
     day = driver.find_element_by_xpath(xpath_string)
     B = day.text
     print(B)

     if (Date == B):
        path_string = ('/html/body/div[3]/ul/li[1]/div/div[1]/table/tbody/**tr[{0}]**/**td[{1}]**'.format(str(j), str(i)))
        say = driver.find_element_by_xpath(path_string)
        say.click()
        break

लेखन त्रुटि:

'दस्तावेज़' पर 'मूल्यांकन' निष्पादित करने में विफल: परिणाम एक नोड सेट नहीं है, और इसलिए वांछित प्रकार में परिवर्तित नहीं किया जा सकता है।

यह इस प्रकार की त्रुटि दिखा रहा है इसलिए कृपया इसे हल करने में मेरी सहायता करें।

-1
Ritesh Jain 4 अक्टूबर 2018, 23:47

2 जवाब

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

आपके xpath में ** का उद्देश्य क्या है, वे मान्य xpath व्यंजक नहीं हैं। निम्नलिखित कोड लाइन को नीचे के रूप में बदला जाना चाहिए:

xpath_string = '/html/body/div[3]/ul/li[1]/div/div[1]/table/tbody/tr[{0}]/td[{1}]'
               .format(j,i)



path_string = '/html/body/div[3]/ul/li[1]/div/div[1]/table/tbody/tr[{0}]/td[{1}]'
              .format(j,i)
1
yong 6 अक्टूबर 2018, 02:36

क्या आपने xpath को पहले एक स्ट्रिंग के रूप में स्वरूपित करने के बजाय सीधे Driver.find_element_by_xpath() में पास करने का प्रयास किया है?

मुझे लगता है कि यह कुछ इस तरह दिखेगा:

    day = driver.find_element_by_xpath('/html/body/div[3]/ul/li[1]/div/div[1]/table/tbody/tr[{0}]/td[{1}]')
0
CaptainTate 5 अक्टूबर 2018, 17:07