我不熟悉python和使用selenium进行web抓取。我在学习一个教程,我注意到在教程中,Tim引用了Webelement对象intellisense,列出了所有可能的函数。然而,当我学习教程时,我的webelement对象没有返回任何方法,intellisense也无法识别这些选项。我使用的是最新版本的python verison 3.9.6 pip版本21.2.3 Selenium版本3.141.0
代码:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
PATH = "localpath"
driver = webdriver.Chrome(PATH)
HTTPS = "https://"
# hard coded data to test
siteDomain = "indeed.com"
jobSearch = "Entry Level Software Developer"
locationSearch = "Richmond, VA"
# Goes to Site
driver.get(HTTPS + siteDomain)
# obtains access to elements from website
searchJob = driver.find_element_by_name("q")
searchLocation = driver.find_element_by_name("l")
# clear text field
searchJob.clear()
searchLocation.clear()
# inputs values into website elements
searchJob.send_keys(jobSearch)
searchLocation.send_keys(locationSearch)
# presses button to search
searchLocation.send_keys(Keys.RETURN)
driver.quit()
当我执行driver.xxx时,我会得到intellisense自动填充选项。当我尝试使用objects searchJob和searchLocation时,我没有获得intellisense自动填充选项。我手动键入searchJob.send_key(jobSearch)searchLocation.send_key(locationSearch)。另外,element.clear()也不起作用,因为我认为问题是一样的。我希望看到更好地理解更复杂问题的选项。感谢您的帮助
默认情况下,Intellisense由
Pylance Language Server
提供。您可以切换到其他语言服务器,例如JediLSP
将此添加到
settings.json
文件中:对于element.clear()的问题,以下替代方法对我有效
也就是说用控件a选择所有内容,然后删除它。如果你在mac电脑上,你可能需要执行命令之类的操作
当我重现你在VSC中所做的事情时,我对IntelliSense也有同样的问题。然后我在Pycharm CE2021中试用了它,IntelliSense工作得很好。如果您不太喜欢VSC,那么您可能希望尝试Pycharm作为一种快速修复方法
相关问题 更多 >
编程相关推荐