Selenium、Autoit 和 iframe
Selenium, Autoit and 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()
input
不是 class,它是 body
的子元素。试试不用 body
scanButton = driver.find_element_by_css_selector('input[type="button"]')
你也可以通过value
属性试试
scanButton = driver.find_element_by_css_selector('value="Scan"')
我试图自动化页面上的控件,在该页面上有一个 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()
input
不是 class,它是 body
的子元素。试试不用 body
scanButton = driver.find_element_by_css_selector('input[type="button"]')
你也可以通过value
属性试试
scanButton = driver.find_element_by_css_selector('value="Scan"')