How to resolve "Xpath Conflict" when using multiple XPath in Selenium python script?

49 views Asked by At

I have such a problem when I have one XPATH everything works and there are no errors, but when I add a second XPATH it says that the first XPATH is wrong.

This way everything works fine:

from gettext import find
from msilib.schema import Class
import webbrowser
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.get("...some website..")
class Code:
 def cookie(self):
         self.button = driver.find_element(By.XPATH, '//*[@id="pr_id_1_content"]/div/div/div[1]/div/div/div[4]/button') 
         self.button.click()
p = Code()
p.cookie()

But when I append the second Xpath, it says the first one is wrong:

class Text:
 def promoCode(self):
          login_attempt = 0
          with open(r'C:\Users\hmiel.DESKTOP-825LQF4\Desktop\slownik1.txt', 'r') as f1, open(r'C:\Users\hmiel.DESKTOP-825LQF4\Desktop\slownik2.txt', 'r') as f2:
             wyrazy1 = f1.readlines()
             wyrazy2 = f2.readlines()

             lista_wyrazow = []
             i = 0
             j = 0

             while i == len(wyrazy1):
                   lista_wyrazow.append(wyrazy1[i].strip())
                   i += 1
             if j < len(wyrazy2):
                 lista_wyrazow.append(wyrazy2[j].strip())
                 j += 1

             for line in lista_wyrazow:
                  self.button_code = driver.find_element(By.ID, 'voucher-input')
                  self.button_code1 = driver.find_element(By.XPATH, '//*[@id="gatsby-focus-wrapper"]/main/div/div[1]/div/form/button')
                  self.button_code1.click()

                  login_attempt = login_attempt + 1
                  print("____________________________________________________________")
                  print(' Login attempt', login_attempt, ' with key/password : ', line)
                  print("____________________________________________________________")

d = Text()
d.promoCode()

How could I solve this issue? Any advice would be appreciated.

0

There are 0 answers