我正在尝试使用Selenium WebDriver让Firefox在此Boerse Frankfurt webpage的搜索字段中输入搜索查询。
我可以通过find_element_by_name
或find_element_by_xpath
成功找到网络元素,这会提供<selenium.webdriver.remote.webelement.WebElement object at 0x10768e490>
。
但是,在尝试清除字段,发送密钥或以其他方式单击时,我收到错误消息:
ElementNotVisibleException:消息:元素当前不可见 因此可能无法与
互动
我在使用Selenium之前不熟悉这个错误,所以我对我的代码可能出错而感到茫然:
driver.get("http://en.boerse-frankfurt.de/")
search_string = "test"
search_box = driver.find_element_by_xpath(".//*[@id='searchvalue']")
search_box.send_keys(search_string)
search_box.send_keys(Keys.RETURN)
编辑:这里的问题实际上是驱动程序窗口没有最大化到全屏。请参阅下面的答案/评论。
答案 0 :(得分:1)
Wait,搜索字段变为可见,然后才与之互动:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Firefox()
driver.get("http://en.boerse-frankfurt.de/")
search_string = "test"
wait = WebDriverWait(driver, 10)
search_box = wait.until(EC.visibility_of_element_located((By.ID, "searchvalue")))
search_box.clear()
search_box.send_keys(search_string)
search_box.send_keys(Keys.RETURN)
答案 1 :(得分:0)
C:\Users\Me\
首先点击搜索框,然后点击sendkeys。