Как отправить текст в элементы для создания аккаунта на Facebook через Selenium - PullRequest
0 голосов
/ 14 декабря 2018
from selenium import webdriver

driver = webdriver.Chrome("/home/rootlente/Desktop/Driver For Selenium Chrome/chromedriver_linux64/chromedriver")
driver.get("http://facebook.com")
driver.find_element_by_name("firstname").send_keys("Ilia")
driver.find_element_by_name("lastname").send_keys("james")
driver.find_element_by_name("reg_email__").send_keys("mail@mail.com")
driver.find_element_by_name("reg_email_confirmation__").send_keys("mail@mail.com")
driver.find_element_by_name("reg_passwd__").send_keys("password")
driver.find_element_by_css_selector("input[type='radio'][value='"sex"']")["2"].click()

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018

Когда я проверяю страницу, это name="sex", а value равно "2" для мужчины.Вы можете value="sex"

изменить:

driver.find_element_by_css_selector("input[type='radio'][value='"sex"']")["2"].click()

, чтобы выбрать мужской:

driver.find_element_by_css_selector("input[type='radio'][name='sex'][value='2']").click()

или

driver.find_elements_by_css_selector("input[type='radio'][name='sex']")[1].click()



для выбора Женский:

driver.find_element_by_css_selector("input[type='radio'][name='sex'][value='1']").click()

или

driver.find_elements_by_css_selector("input[type='radio'][name='sex']")[0].click()

РЕДАКТИРОВАТЬ: Мне нравится комментарий Андерссона ниже, и его код немного лучше, чем моя строка (по моему мнению), поэтому я добавил его.Так что дает вам варианты

0 голосов
/ 14 декабря 2018

Для отправки последовательности символов на элементы для создания учетной записи на Facebook домашней странице вы можете использовать следующее решение:

  • Кодовый блок:

    from selenium import webdriver
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    
    options = webdriver.ChromeOptions()
    options.add_argument("start-maximized")
    options.add_argument("disable-infobars")
    options.add_argument("--disable-extensions")
    driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
    driver.get("https://www.facebook.com/")
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input.inputtext[name='firstname']"))).send_keys("Ilia")
    driver.find_element_by_css_selector("input.inputtext[name='lastname']").send_keys("james")
    driver.find_element_by_css_selector("input.inputtext[name='reg_email__']").send_keys("mail@mail.com") 
    driver.find_element_by_css_selector("input.inputtext[name='reg_email_confirmation__']").send_keys("mail@mail.com") 
    driver.find_element_by_css_selector("input.inputtext[name='reg_passwd__']").send_keys("password")
    driver.find_element_by_xpath("//label[contains(@for, 'u_0_') and text()='Male']//preceding::input[1]").click()
    
  • Снимок браузера

facebook_registration

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