Как выбрать HTML-идентификатор в XPath в Python, используя подстановочную строку? - PullRequest
0 голосов
/ 27 апреля 2018

В данный момент я ищу программу для повторяющихся действий, в противном случае нам нужно сделать что-то вроде 1000 раз вручную.

Это действие выполняется через веб-браузер (я использую Chrome). Моя настоящая проблема заключается в том, что селектор XPATH меняется при каждом подключении, но только один номер. Поэтому я использую распознавание на веб-странице, связанной с помощью Selenium и связанных с ней WebDrivers.

Дело в том, что мой код запускается иногда, когда селектор имеет правильное имя.

Действительно, так как селектор css постоянно меняется, бывает, что он правильный!

Итак, после создания безголового браузера войдите на веб-страницу компании, я должен распознать, а затем щелкнуть конкретный объект в навигаторе:

Проблемный код следующий:

wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="__xmlview0--settingsButton-img"]')))
OT = driver.find_element_by_xpath('//*[@id="__xmlview0--settingsButton-img"]')
OT.click()
wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '#__select1-label')))
driver.save_screenshot("screenshot.png")

У меня есть идея, но я не знаю, как это сделать: возможно ли добавить случайное число вместо 0 в xmlview0, что является проблемой числа в селекторе CSS?

Я не ветеран Python, и я действительно не хочу делать работу вручную.

...