【问题标题】:Selenium Python 3 TypeError: rect is undefinedSelenium Python 3 TypeError:矩形未定义
【发布时间】: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


【解决方案1】:

试试

driver.get("https://google.com")
driver.find_element_by_name("q").send_keys("kek")

driver.execute_script("document.getElementsByName('btnK')[0].click();")

欢迎来到 SO:-)

【讨论】:

  • 所以已经尝试过了,但我仍然遇到同样的错误。我已经更新了我的帖子,请参阅:“编辑:”。我可能编辑错了代码,我对 python+ selenium 还很陌生。
  • @Grasmat 为你编辑我的答案!
猜你喜欢
  • 2018-10-20
  • 1970-01-01
  • 2020-09-20
  • 1970-01-01
  • 2021-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多