【发布时间】:2020-11-20 18:42:09
【问题描述】:
我是 Python 和 Selenium 的新手
我试图运行的代码应该在终端上打印亚马逊结果:
第一个代码是。 :
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
import time
PATH = "/Users/fuadhafiz/Documents/Python Projects/Selenium Automation /Web Scraping (1)/chromedriver"
driver = webdriver.Chrome(PATH)
driver.get("https://www.amazon.co.uk/")
search = driver.find_element_by_id("twotabsearchtextbox")
search.send_keys("usb c to hdmi")
search.send_keys(Keys.RETURN)
try:
main = WebDriverWait(driver, 5).until(
EC.presence_of_element_located((By.CLASS_NAME, "s-main-slot s-result-list s-search-results sg-row"))
)
print(main.text)
except:
driver.quit()
driver.quit()
这会正确打开所有内容,但不会将结果打印到终端上
第二个代码我累了:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
import time
PATH = "/Users/fuadhafiz/Documents/Python Projects/Selenium Automation /Web Scrapping (1)/chromedriver"
driver = webdriver.Chrome(PATH)
driver.get("https://www.amazon.co.uk/")
search = driver.find_element_by_id("twotabsearchtextbox")
search.send_keys("usb c to hdmi")
search.send_keys(Keys.RETURN)
try:
main = WebDriverWait(driver, 5).until(
EC.presence_of_element_located((By.CLASS_NAME, "s-main-slot s-result-list s-search-results sg-row"))
)
except:
driver.quit()
print(main.text)
driver.quit()
但是使用第二个代码,它不断出现这个错误?
print(main.text)
NameError: name 'main' is not defined
【问题讨论】:
-
我很确定您在 try/except 中遇到错误。您应该在期望中添加错误异常类,这样您就不想处理这种情况。所以现在你需要做的就是注释或删除 try except 或运行你的代码而不使用 try except 并粘贴你得到的异常。
-
您可以通过将
except: driver.quit()更新为except: print("Error") driver.quit()来验证您在 try/except 中是否遇到错误,请记住缩进。 -
我不知道它是否在 try/except 中。我已将其更改为您的代码,它仍然说 main isnt defined
-
您是否在终端/cmd 中打印了“错误”str?您应该向我展示您的新输出。
-
(1)/amazon_search.py" Traceback(最近一次调用最后):文件“/Users/fuadhafiz/Documents/Python Projects/Selenium Automation /Web Scrapping (1)/amazon_search.py”,第 24 行,在
print(main) NameError: name 'main' is not defined fuadhafiz@Fuads-iMac Web Scrapping (1) %
标签: python python-3.x selenium web-scraping