【发布时间】:2021-12-18 22:02:27
【问题描述】:
我是一名喜欢游戏的韩国学生。 最近,我正在开发一个使用 Python selenium 库抓取游戏项目的程序。但是,我有一个问题。
如果文本存在,sell_count 将是文本。 否则,如果 text 不存在,则 sell_count 将为 1。
我正在使用显式等待。 但它没有用。太费时间了。
我尝试通过谷歌搜索找到解决方案。但每个案例都帮不了我
请帮帮我:(
如果你帮助我,我想我会很高兴。
感谢您阅读本文。祝你有美好的一天:)
try:
wait(driver, 1).until(EC.presence_of_element_located((By.CSS_SELECTOR, "#tbodyItemList > tr:nth-child(1) > td:nth-child(1) > div > span.count > em")))
sell_Count = driver.find_element_by_xpath('/html/body/div[2]/div/main/div/div[3]/div[2]/div/div/div[1]/table/tbody/tr['+str(i)+']/td[1]/div/span[3]/em').text
sell_Count = sell_Count[1:-8]
except:
sell_Count = "1"
【问题讨论】:
-
那么,您是在尝试指出
sell_Count[1:-8]的内容是1还是文本? -
@PedroMaia 对!我不擅长英语。谢谢你的解释。
-
@Prophet 是的!如果 text 存在,则 sell_count 将是 text_value。否则它将是 1。我的代码有问题,所以我更正了它。
-
1 秒是一个很短的超时时间。我会增加那个。它只会等待找到元素所需的时间。如果您实际上不需要等待,请使用 find_elements 并检查返回的数组是否为 0 大小。
-
你的 xpath 中的
i是什么?这也是一个脆弱的 XPath,请分享网站 URL 或 HTML 代码,以便给您更准确的答案。
标签: python selenium web-crawler