Home > OS >  Unable to locate element method using find element by Xpath in Selenium?
Unable to locate element method using find element by Xpath in Selenium?

Time:12-04

I want to type 0.5 into the "mintMultiple: Input". I have tried finding element by Xpath using this code:

import numpy as np
import pandas as pd
from bs4 import BeautifulSoup as soup
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time 

driver = webdriver.Chrome(executable_path=r'C:\Users\Main\Documents\Work\Projects\Scraping Websites\extra\chromedriver')

my_url = "https://etherscan.io/address/0x6eed5b7ec85a802428f7a951d6cc1523181c776a#writeContract"

driver.get(my_url)
time.sleep(2)
your_input = driver.find_element_by_xpath(r'//input[@id="input_payable_3_mintMultiple"]')

However, I get this Error, I've tried using a delay and not using a delay as suggested by other sources, but I get the same error.

NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//input[@id="input_payable_3_mintMultiple"]"}
  (Session info: chrome=96.0.4664.45)

This shows the Xpath is correct as it highlighted in yellow in the HTML.

enter image description here

CodePudding user response:

The element is within an mintMultiple

CodePudding user response:

This is because the input is hidden within the drop-down tab and does not show up under the HTML. In order for the element to be interactable, you must first click on the drop down tab. Add the following line of code before "your_input" variable:

driver.find_element_by_xpath("//*[@id='heading3']/a").click() #dropdown tab

Furthermore to complete the code:

your_input.click()
your_input.send_keys("0.5")
  • Related