最近几周我一直在研究Python以自动完成我的业务。
基本来说,我必须进行网络抓取,但是我在倒数第二行的代码中遇到打印功能问题...
def search_time(self):
for item in self.items:
print(f"Procurando {item}.")
self.driver.get(self.bot_url)
cpfBox = self.driver.find_element_by_xpath('//*[@id="search"]/div/div[1]/input')
cpfBox.send_keys(item)
time.sleep(2)
cpfButton = self.driver.find_element_by_xpath('//*[@id="search"]/div/div[2]/button')
cpfButton.click()
time.sleep(2)
self.delay = 3 # seconds
try:
WebDriverWait(self.driver, self.delay).until(EC.presence_of_element_located((By.XPATH, '//*[@id="main"]/div[1]/h2')))
print('CPF Valido')
except TimeoutException:
print('CPF Invalido')
time.sleep(2)
name = self.driver.find_element_by_xpath("/html/body/main[1]/div[1]/div[1]/div[1]/div[1]/h2").text
print(name)
time.sleep(2)
items = ["32911769953"]
bot_url = BOT(items)
bot_url.search_time()
检查xpath是否确实是您要通过硒获取的文本的正确路径。
如果这是一个网站,则可以转到您要查找的元素,然后右键单击并选择“复制XPATH”。
如果您可以在问题中添加更多上下文,那就太好了!
请注意安全!
首先,我建议对您的xpath查询进行一般化。当前,它在很大程度上取决于整个页面的结构。在页面的无关部分中进行小的版式更改可能会给您带来不良的结果。复习xpath syntax和[谓词]的使用将在将来为您节省很多麻烦。
如果没有帮助,请发布您尝试解析的html。