Изменение местоположения Amazon с помощью Selenium Требуется входPython

Программы на Python
Ответить
Anonymous
 Изменение местоположения Amazon с помощью Selenium Требуется вход

Сообщение Anonymous »

Привет, я пытаюсь получить данные с amazon.com для своего университетского проекта. Я сделал скрипт Selenium, который обходит капчу, а не меняет местоположение, ищет определенную категорию и очищает асины. На старте нам удалось обойти капчу и сменить локацию. но после нескольких запросов на тестирование amazon.com не позволил мне изменить местоположение. для обновления местоположения требовался вход в систему.
Мне нужно решение этой проблемы.

Код: Выделить всё

def solve_captcha():
api_key = os.getenv('APIKEY_2CAPTCHA', 'b6bf51f9305ea298f4f2e8946bf46773')

solver = TwoCaptcha(api_key)

try:
result = solver.normal('captcha.png')
except Exception as e:
sys.exit(e)

return result["code"]

def login_and_setup(driver):
while True:
try:
url = "https://www.amazon.com"
driver.uc_open_with_reconnect(url, 4)
driver.uc_gui_click_captcha()

wait = WebDriverWait(driver, 30)
wait.until(EC.presence_of_all_elements_located((By.XPATH, "//div")))

try:
captcha_image = driver.find_element(By.XPATH, "//form[@action='/errors/validateCaptcha']//img")
captcha_image.screenshot("captcha.png")

solved_captcha = solve_captcha()

captcha_input = driver.find_element(By.XPATH, "//input[@id='captchacharacters']")
captcha_input.send_keys(solved_captcha)

submit_button = driver.find_element(By.XPATH, "//button[@type='submit']")
submit_button.click()
except Exception as e:
pass

wait = WebDriverWait(driver, 30)
wait.until(EC.presence_of_element_located((By.XPATH, "//div[@id='glow-ingress-block']")))

if "11229" in driver.find_element(By.ID, "glow-ingress-block").text.strip():
print("No need to change country")
else:
try:
driver.find_element(By.XPATH, "//input[@id='sp-cc-accept']").click()
except:
pass

driver.find_element(By.XPATH, "//div[@id='glow-ingress-block']").click()
time.sleep(2)

driver.find_element(By.XPATH, "//input[@id='GLUXZipUpdateInput']").send_keys("11229")
time.sleep(1)
driver.find_element(By.XPATH, "//span[@data-action='GLUXPostalUpdateAction']/input[@class='a-button-input']").click()
time.sleep(2)

driver.refresh()
break
except KeyboardInterrupt:
raise KeyboardInterrupt
return driver
Изображение



Подробнее здесь: https://stackoverflow.com/questions/793 ... ed-sign-in
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»