переключатель в форме Google с селеном python - PullRequest
0 голосов
/ 20 июня 2020

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

Итак, мне нужен способ получить количество переключателей в группе и способ выбрать нужную.

Тестовый сайт

Если есть другие предложения, я буду рад их выслушать?

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
import Resources
from selenium.webdriver.support.select import Select

driver = webdriver.Chrome(executable_path= Resources.driverChrome)
driver.maximize_window()
driver.get(Resources.linkTest)

time.sleep(3)
try:
    email = driver.find_element_by_xpath("//input[@type='email']")
    if email.is_displayed() & email.is_enabled():
        email.send_keys(Resources.emailTest)
except:
    print("Email box was not found")

containers = driver.find_elements_by_xpath("//div[@class ='freebirdFormviewerViewNumberedItemContainer']")
sNoBoxes = driver.find_elements_by_xpath("//input[@type='text' ] ")




time.sleep(2)
radios = driver.find_elements_by_xpath("//div[@class='appsMaterialWizToggleRadiogroupOffRadio exportOuterCircle']")

for radio in radios:
    radio.click()

for container in containers:

    sNo = int(containers.index(container))
    print("\n\n" + str(sNo) + "    " + container.text)


button = driver.find_element_by_xpath("//span[contains(text(),'Submit')]")
button.click()

time.sleep(3)

try:
    viewScore = driver.find_element_by_xpath("//span[contains(text(),'View score')]").click()

except:
    pass
...