0

they disable mouse right-click or keyboard CTRL + Click or CTRL + Enter

but for automation, I need to do that or need to find a way to count it in a for loop.

I am using selenium python.

import os
import time
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
import pathlib
import random

# Setting the chrome_options
global chrome_options
chrome_options = Options()
scriptDirectory = pathlib.Path().absolute()
chrome_options.add_argument("--start-maximized")
chrome_options.add_argument("--user-data-dir=chrome-data")
chrome_options.add_argument('--profile-directory=Profile 8')
prefs = {"profile.default_content_setting_values.notifications": 2}
chrome_options.add_experimental_option("prefs", prefs)
chrome_options.add_argument('disable-infobars')
chrome_options.add_experimental_option("useAutomationExtension", False)
chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"])
chrome_options.add_argument("user-data-dir=chrome-data")
chrome_options.add_argument(f"user-data-dir={scriptDirectory}\\userdata")

driver = webdriver.Chrome("../chromedriver.exe", chrome_options=chrome_options)


# print(input(" Connect your waller address :"))
driver.implicitly_wait(10)
driver.get("https://www.thetadrop.com/marketplace")

# print(input("Start Project ..... :"))


# thumb_xpath = "//div[@class='thumb']"
thumb_xpath = '//div[@class="g-nft-item"]'
thumb_selector = driver.find_elements_by_xpath(thumb_xpath)

# print(thumb_selector)
# print(len(thumb_selector))


def click_and_open_new_tab(driver, element):
    element_action = ActionChains(driver)
    element_action.key_down(Keys.CONTROL).click(element).key_up(Keys.CONTROL).perform()


def switch_tab_to_single_nft(driver):
    print(len(driver.window_handles))
    window_before = driver.window_handles[0]
    window_after = driver.window_handles[1]
    if driver.window_handles[1] == window_after:
        driver.switch_to.window(window_after)
        time.sleep(10)
        # We will buy when we need to
        # buy_nft()

        time.sleep(2)
        name_of_the_nft = driver.title
        print(name_of_the_nft)

        driver.close()
        driver.switch_to.window(window_before)
    else:
        driver.switch_to.window(window_before)
        print(" Didn't find Second Tab")


for i in range(len(thumb_selector)):
    driver.implicitly_wait(5)
    time.sleep(5)
    print(i+1)
    print(thumb_selector[i+1])
    # thumb_selector[i+1].click()
    click_and_open_new_tab(driver, thumb_selector[i+1])
    switch_tab_to_single_nft(driver)
    print(input("nft element :"))
    print("We are in " + str(i) + " no NFT")

code is fine but interesting thing is that javascript disable give me hard time.

URI of the website : https://www.thetadrop.com/marketplace

I am trying to find a solution as an EQ engineer.

enter image description here

Sushen Biswas
  • 522
  • 1
  • 6
  • 24

0 Answers0