Невозможно найти ошибку элемента при использовании find_element_by_css_selector в python - PullRequest
0 голосов
/ 29 мая 2020

Я изучаю Selenium, используя Python. Я попытался проверить статус кнопки - включена она или нет? Для этого я использовал демонстрационный сайт Mercury и написал приведенный ниже код. Я получаю

Невозможно найти элемент: input [value = roundtrip]

Код, который я использовал:

from  selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Firefox(executable_path="C:\\Seleinum_Python\\WedDriver\\geckodriver.exe")
driver.get("http://newtours.demoaut.com/")
# Whether the user name & password enabled and displayed
user_ele = driver.find_element_by_name("userName")   # <input type="text" name="userName" size="10">
print(user_ele.is_displayed()) # Return True /False based on element status
print(user_ele.is_enabled())
pwd_ele = driver.find_element_by_name("password")   #<input type="password" name="password" size="10">
print(pwd_ele.is_displayed())
print(pwd_ele.is_enabled())
user_ele.send_keys("mercury")
pwd_ele.send_keys("mercury")
driver.find_element_by_name("login").click()
roundtrip_radio= driver.find_element_by_css_selector("input[value=roundtrip]") #<input type="radio" name="tripType" value="roundtrip" checked="">
print(roundtrip_radio.is_selected())
oneway_radio= driver.find_element_by_css_selector("input[value=oneway]")
print(oneway_radio.is_selected())
driver.close()

Я даже пробовал с комбинацией ниже, но я все равно получаю тот же элемент, не найденный.

 roundtrip_radio= driver.find_element_by_css_selector("input[value='roundtrip']")
 roundtrip_radio= driver.find_element_by_css_selector('input[value="roundtrip"]')
 roundtrip_radio= driver.find_element_by_css_selector("//input[value='roundtrip']")
 roundtrip_radio= driver.find_element_by_css_selector("input[value='roundtrip']")
 roundtrip_radio= driver.find_element_by_css_selector('input[name="tripType"][value="roundtrip"]')

1 Ответ

0 голосов
/ 29 мая 2020

В вашем селекторе css вы можете использовать :checked для идентификации выбранных элементов.

например: -

"input[type=radio]:checked"

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