【发布时间】:2019-12-20 22:49:38
【问题描述】:
所以我一直在尝试在 google.com 中填写文本并在搜索按钮上按鼠标左键(我知道我可以通过在 google.com 上按 Enter 来解决此问题,但我的实际项目需要我按鼠标左键,我使用 google.com 作为测试页面)
我的第一次尝试:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver import ActionChains
driver = webdriver.Firefox()
driver.get("https://google.com")
driver.find_element_by_name("q").send_keys("kek")
driver.find_element_by_name("btnK").click()
我收到一个错误:selenium.common.exceptions.ElementNotInteractableException:消息:无法将元素滚动到视图中
在谷歌搜索并找到我之前的错误的修复后,我将代码编辑为:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver import ActionChains
driver = webdriver.Firefox()
driver.set_page_load_timeout("10")
driver.get("https://google.com")
driver.find_element_by_name("q").send_keys("kek")
element = driver.find_element_by_name("btnK")
actions = ActionChains(driver)
actions.move_to_element(element).perform()
我收到以下错误:selenium.common.exceptions.WebDriverException: Message: TypeError: rect is undefined
现在我不知道如何解决这个错误。该按钮清晰可见/可点击,页面已完全加载。
编辑:
在尝试修复 x 后,我得到了同样的错误:“selenium.common.exceptions.WebDriverException: Message: TypeError: rect is undefined”。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver import ActionChains
driver = webdriver.Firefox()
driver.set_page_load_timeout("10")
driver.get("https://google.com")
driver.find_element_by_name("q").send_keys("kek")
element = driver.find_element_by_name("btnK")
actions = ActionChains(driver)
actions.move_to_element(element)
actions.click()
actions.perform()
【问题讨论】:
-
在 send_keys() driver.find_element_by_name("q").submit() 之后尝试提交,而不是点击按钮
标签: python-3.x selenium