Jul-19-2018, 08:21 AM
(Jul-18-2018, 01:29 PM)buran Wrote: it looks like driver.find_elements_by_xpath('(//*[@id="d_value"])')
returns list. Check how many elements it has. In any case, even if it is one element list, you need to get the desired element.
It seems there are two elements in the list, I printed the list using the below code-
ser = driver.find_elements_by_xpath('(//*[@id="d_value"])') print(ser)and got the output like below -
Output:[<selenium.webdriver.firefox.webelement.FirefoxWebElement (session="4c136be8-69d7-4a62-9c94-8659e3ab2190", element="425ebdba-c5c5-4a58-a31f-dfc44c753c6d")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="4c136be8-69d7-4a62-9c94-8659e3ab2190", element="fc40d0ff-34c6-4c81-8114-bd66e0e2e98d")>]
There are two input boxes in the webpage which I already mentioned, and here two list elements are printed. So it exactly matches with the number of input boxes.But when I am doing this to select the input box-
ser = driver.find_elements_by_xpath('(//*[@id="d_value"])[1]').click()I am getting error like below -
Error: ser = driver.find_elements_by_xpath('(//*[@id="d_value"])[1]').click()
AttributeError: 'list' object has no attribute 'click'
It means click is not applicable here in a list type object. Then how to solve the issue or how to click on a list type object and send keystrokes using send_keys().