2017-02-09 29 views
0
<input type="hidden" name="vendor_service[customized_car_types[]][is_checked]"> 
<input type="checkbox" name="vendor_service[customized_car_types[]][is_checked]">== $0 
<b>Sedan</b> 

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

+0

Пожалуйста, добавьте код, в котором вы начали это делать. –

ответ

0

Используйте селектор CSS, например:

input[type=checkbox][name*=vendor_service] 
+0

Можете ли вы указать точный код? – Akshay

0

Попробуйте использовать ActionChains:

from selenium.webdriver.common.action_chains import ActionChains 
from selenium import webdriver 

driver = webdriver.Chrome() 
driver.get(URL) 
checkbox = driver.find_element_by_xpath('//input[@name="vendor_service[customized_car_types[]][is_checked]"]') 
actions = ActionChains(driver) 
actions.move_to_element(checkbox) 
actions.click() 
actions.perform() 

Обратите внимание, что на данный момент этот подход не работает в Firefox (geckodriver)

+0

Я пробовал свой код, и я не получал никаких ошибок, но он тоже не работал. Есть 4 флажка, и каждый из них имеет две строки кода, когда я наводил на них курсор, но то, что делает их уникальными, - это линия под двумя строками, указывающими тип. Ниже этих двух строк есть строка - Sedan, если это поможет вам сделать код более эффективным, тогда попробуйте рассказать мне. Спасибо за ответ в любом случае – Akshay

+0

Давайте попробуем. Изначально существует '', правильно? Когда вы наводите указатель мыши на него, он изменился на '' или оба элемента доступны? – Andersson

+0

Ничего не меняется, есть две строки внутри Тип скрытый не имеет никакого эффекта, но когда я навешиваю на второй строке, флажок подсвечивается – Akshay

0

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

void clickElementWithJs(WebDriver driver, String cssSelector) { 
    js = (JavascriptExecutor) driver; 
    WebElement element = driver.findElement(By.cssSelector(cssSelector)); 
    js.executeScript("arguments[0].click();", element); 
} 

Извинения, мое решение находится в java.

+0

Я использую python, извините, я не упоминал – Akshay

0

Возможен ли флажок?

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