Sendkeys / Параметры без элемента Selenium Python - PullRequest
0 голосов
/ 12 февраля 2020

У меня есть поток, в котором я должен обязательно отправить параметр IP-адрес и домен. Я жестко запрограммировал IP-адрес и домен в файле конфигурации, но я не знаю, как отправить их тоже без элемента. Поскольку в HTML.

ничего нет, это поток забытых паролей. Когда пользователь нажимает на ссылку «забыть пароль» и API-вызов извлекает IP-адрес пользователя и из URL-адреса он получает домен.

Но когда я пытаюсь использовать селен, он не будет отображать ошибку «Пожалуйста, предоставить "IP-адрес пользователя и домен".

Код Selenium;

language: python

import unittest
import json
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.touch_actions import TouchActions
from selenium.common.exceptions import TimeoutException
import time

# read configc.json file
with open('configc.json', 'r') as myfile:
    data=myfile.read()

# parse configc.json file
configc = json.loads(data)


# Setting Up And Getting the job
# download chrome driver according to your chrome version
driver = webdriver.Chrome(executable_path=r'/Users/Downloads/chromedriver')
wait = WebDriverWait(driver, 100)

driver.get(config['login_url'])
elem = wait.until(EC.element_to_be_clickable((By.ID, "email")))
elem.click()

#Click on Forget Password button

button_forget_password = driver.find_element_by_xpath("//a[contains(text(),'Forgotten password?')]")
button_forget_password.click()

#Fill email address

email_forget = driver.find_element_by_xpath("//div[@id='root']/div/div[2]/div/input")
email_forget.clear()
email_forget.send_keys(configc["email-forget"])

#user_ip.send_keys(configc["user-ip"])
#user_domain.send_keys(configc["domain"])

button_request_reset_link = driver.find_element_by_xpath("//div[@id='root']/div/div[2]/div/button")
button_request_reset_link.click()

#success_result = wait.until(EC.presence_of_element_located((By.CLASS_NAME, 'status')))

#driver.close()
#driver.quit()

Файл конфигурации

language: JSON

{
    "login_url" : "https://nextu.mobyhire.se/customer/login",
    "email-forget":"ahsan@diyainteractive.com",
    "user_ip":"192.168.0.1",
    "domain":"nextu.mobyhire.se"
}

HTML код можно найти здесь

Любая помощь в этом отношении приветствуется. Спасибо

...