python-3.x - python 中的 Selenium webdriver find_element_by_id() 方法使用 phantomjs 引发错误
问题描述
基于 selenium webdriver 的 python 上的 web 测试用例在使用 phantomjs 时存在问题。它在driver.find_element_by_id("username")
.
相关HTML:
<input class="form-control" name="username" id="username" type="text" placeholder="Username">
我听说是时间等待问题,我在之前和之后尝试过,time.sleep(10)
但仍然没有进展:
time.sleep(10)
user = self.driver.find_element_by_id("username")
time.sleep(10)
可以请任何人知道这一点,例如使用 chromrdriver 的运行案例正在运行,但使用 phantomjs 即使在测试用例中访问 phantomjs.exe 后它也无法正常工作。
解决方案
根据您在评论中提供并随后在问题中更新的 HTML,您可以删除所有实例并用WebDriverWaittime.sleep()
替换它们,如下所示:
CSS_SELECTOR
:user = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input.form-control#username")))
XPATH
:user = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[@class='form-control' and @id='username']")))
推荐阅读
- shopify - Shopify Grid 产品图片消失
- reactjs - i18next-react 和自定义格式
- javascript - Python和Node Js(如果客户端没有python怎么办)
- react-native - 使用带有反应原生的条件图像显示
- nginx - 对静态文件的 XHR POST 请求的 HTTP2 Nginx 服务器 200 响应
- javascript - 尝试在 react-native-jw-player 的 ios 中运行本地存储路径
- html - 一个 div 没有出现,它不可见
- amazon-web-services - Jenkins ECR - 无法运行程序“docker”
- python - 带有 7 天周实际开始/结束偏移量的 Python 日期范围
- python - 如何使用 Python Selenium 在没有 ID 或名称的页面上单击“接受 Cookie”