【发布时间】:2020-05-06 02:46:08
【问题描述】:
在 selenium python 中使用 CSS 选择器,我正在尝试自动登录网页。
而不是使用:
driver.find_element_by_id()
我想练习使用:
driver.find_elements_by_css_selector()
所以我这样编码:
userId = driver.find_elements_by_css_selector('input[id = "pass"]')
userId.send_keys('blabla78945@gmail.com')
但它不会找到它应该输入的元素。这个案例的问题是什么?
【问题讨论】:
-
您好,欢迎来到 Stackoverflow!我不认为
input[id = "pass"]是一个有效的东西,你可以尝试使用input[type=password] -
您还需要检查您的代码是否运行得太快,因为很多时候页面没有时间加载,请参阅 browser.wait() 直到方法
-
先显示真实网址——不同的页面可能需要不同的解决方案。
-
总是将完整的错误消息(从单词“Traceback”开始)作为文本(不是屏幕截图)放在有问题的(不是评论)中。还有其他有用的信息。
-
你应该使用
find_element而不使用 s 来获取单个元素。现在您将find_elements与s 一起使用,因此获取元素列表,您可能需要[0]来处理列表中的第一个元素。也许先使用print( userId )看看你得到了什么。
标签: python selenium selenium-webdriver css-selectors webdriver