Selenium, Autoit и iframe

Я пытался автоматизировать управление на странице, где есть iframe и элемент, которым можно управлять с помощью AutoIT. Мне нужно нажать кнопку «Сканировать» в iframe. Я использовал driver.switch_to.frame("frmDemo") для переключения кадров, но это не сработало. Любая идея, пожалуйста?

Вот код:

import win32com.client
import time
from selenium import webdriver

autoit = win32com.client.Dispatch("AutoItX3.Control")

# create a new Firefox session
driver = webdriver.Firefox()
driver.implicitly_wait(30)
driver.get("http://example.com")
time.sleep(2)
driver.switch_to.frame("frmDemo")
scanButton = driver.find_element_by_css_selector('body.input[type="button"]')
scanButton.click()

person Woodrow Norris    schedule 29.03.2016    source источник


Ответы (1)


input не является классом, это его дочерний элемент body. Попробуйте без body

scanButton = driver.find_element_by_css_selector('input[type="button"]')

Вы также можете попробовать атрибут value

scanButton = driver.find_element_by_css_selector('value="Scan"')
person Guy    schedule 29.03.2016