Python: поиск неисправностей в элементе div xmlns - PullRequest
0 голосов
/ 14 октября 2019

Я пытаюсь автоматизировать некоторую работу с селеном, и у меня возникают проблемы с отправкой ключей для идентификатора ввода при попытке входа в систему, и мне интересно, если я нахожусь над моей головой.

IЯ попытался найти элемент по xpath, id, а также по классу, но безуспешно. Я также пытался подождать, чтобы убедиться, что элемент виден без удачи. Возможно, это связано с тем, что div xmlns находится внутри body xmlns, в результате чего элементы в div xmlns изначально не видны? Если так, как мне сделать так, чтобы поле ввода было видимым?

Это в основном то, как далеко я зашел:

from selenium import webdriver
from selenium.webdriver.support.ui import Select
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By

# website url
url = "https://tx-production-eu-web.production.eu1.tx.klarna.net/radix/"

# driver
driver = webdriver.Chrome(r"C:\Users\ahmed.khairouni\Desktop\driver\chromedriver.exe")
driver.get(url)

# wait for page to load
wait = WebDriverWait(driver, 5)

#locate element and insert text into textbox
username = wait.until(EC.presence_of_element_located((By.ID, "wf_139389")))
search_input.send_keys('username')

Связанный вы можете найти часть веб-кода: https://imgur.com/WVKo7B7

Благодарю за любую помощь и спасибозаранее.

1 Ответ

0 голосов
/ 14 октября 2019

Проблема может заключаться в том, что input использует динамический идентификатор, поэтому поиск по идентификатору может не работать. Я также заметил, что вы находите username, но затем вы отправляете ключи на search_input, который, кажется, не существует в вашем коде. Это может быть причиной вашей проблемы, если вы не опечатали этот вопрос.

Вы можете попробовать использовать XPath для поиска ввода username:

username = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//input[contains(@class, 'rwt-regular-value')]")))

username.send_keys('username')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...