gpt4 book ai didi

python - selenium PhantomJS send_keys 不起作用

转载 作者:太空狗 更新时间:2023-10-30 00:56:32 24 4
gpt4 key购买 nike

我正在使用 selenium 和 PhantomJS 进行测试。我遵循了 Selenium 的简单用法,但 send_keys 不适用于 PhantomJS,它适用于 Firefox。为什么?我必须改用 button.click() 吗?

#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys

reload(sys)
sys.setdefaultencoding('utf-8')
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.PhantomJS()

driver.get("http://www.python.org/")
elem = driver.find_element_by_id("q")
elem.clear()
elem.send_keys("python")
elem.send_keys(Keys.RETURN)
# button = driver.find_element_by_id('submit')
# button.click()
print driver.title
print driver.page_source
driver.close()

最佳答案

我高度怀疑这只是时间问题。

Selenium 的 click() 将等待页面加载,如果它在点击后被重定向,而 send_key() 不会等待。 (PhantomJS 是 headless 的,比 Firefox 快)

请尝试在 elem.send_keys(Keys.RETURN) 之后、print driver.title 之前添加一些 sleep ,例如 time.sleep(5) >,看看能不能得到你想要的结果。

在真正的测试项目中,你只需要使用WebDriverWait直到driver.title等于你想要的值。

关于python - selenium PhantomJS send_keys 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17800573/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com