尝试如何使用Selenium和Python抓取orbitz.com时,Field XPath会如何变化?

用户名

以下是我尝试用来抓取Orbitz.com的脚本。问题在于,SAME字段的XPath(让我们使用FROM Airport字段)一直在变化。一次是fromDate_XPath = ".//*[@id='8f57e1cb92a99815ca1085ac0f6d31db']",下次是.//*[@id='0a3807a6e50ffd4cc05eaca5b6aada17']

Orbitz是否专门这样做以防止刮擦?我本以为如果我使用他们的网站来获取购买他们将获得的门票的链接,从而可以让我抓取,不是吗?

有什么办法可以解决这个问题?

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait

driver = webdriver.Chrome()
driver.get("http://www.orbitz.com/")
# X-PATHS FOR DIFFERENT FIELDS
fltOption_Xpath = ".//*[@id='products']/div/fieldset/div[2]/label[1]/div"
fromAir_XPath = ".//*[@id='2de60aafe0629114603daf0bc1ab52a6']"
toAir_XPath = ".//*[@id='9c64cbe5f29f6f28b64ddb9811e102b5']"
fromDate_XPath = ".//*[@id='8f57e1cb92a99815ca1085ac0f6d31db']"

toDate_XPath = ".//*[@id='aa8496535efd1aec3badf9423813fbbd']"


selFlightsOption_Element = WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_xpath(fltOption_Xpath))

selFlightsOption_Element.click()


fromAir_Element = WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_xpath(fromAir_XPath))
toAir_ELement = WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_xpath(toAir_XPath))
fromDate_Element = WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_xpath(fromDate_XPath))
toDate_Element = WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_xpath(toDate_XPath))



fromAir_Element.click()
fromAir_Element.clear()
fromAir_Element.send_keys("IAH")

toAir_Element.click()
toAir_Element.clear()
toAir_Element.send_keys("MUM")
ec

由于id输入的属性是动态生成的,因此不要将定位器依赖于它们。

您可以切换到names-从我看到的内容来看,它们没有变化,而且可读性很强。例如,对于“仅旅馆”模式下的“起始日期”输入:

fromDate_Element = driver.find_element_by_name("hotel.chkin")

或者由于某种原因需要XPath:

fromDate_Element = driver.find_element_by_xpath("//input[@name='hotel.chkin']")

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

禁用按钮时如何避免颜色变化?

来自分类Dev

当HTML不变时,如何使用Python进行网上抓取?

来自分类Dev

如何使用Selenium / Python在分页网站上抓取网址

来自分类Dev

如何使用BeautifulSoup和Python抓取页面?

来自分类Dev

尝试如何使用Selenium和Python抓取orbitz.com时,Field XPath如何保持变化?

来自分类Dev

如何显示会变化的文本(在带有Swift的Xcode中)?

来自分类Dev

尝试从基于Ajax的Webstie抓取数据时,如何使用Scrapy模拟xhr请求?

来自分类Dev

将较高QOS的dispatchWorkItem添加到较低QOS的dispatchQueue时,服务质量(QOS)会如何变化?

来自分类Dev

当网站阻止不抓取内容时,如何使用Python抓取?

来自分类Dev

如何使用Python和Selenium拉出变化的类名?

来自分类Dev

如何使用Selenium Webdriver和Python抓取所有搜索结果

来自分类Dev

使用Python进行网页抓取时,如何分隔列和格式化日期?

来自分类Dev

如何使用Selenium和Python在https://www.deepl.com/translator中单击“复制”按钮

来自分类Dev

如何使用Selenium和Python抓取注释?

来自分类Dev

在SKSpriteNode上使用SKAction时,哪个位置值会变化?我将如何考虑职位变动?

来自分类Dev

在python中,当我尝试选择随机数时,如何确保使用randint的种子不断变化?

来自分类Dev

如何使用Xpath Selenium和Python找到span元素

来自分类Dev

禁用按钮时如何避免颜色变化?

来自分类Dev

尝试使用Selenium单击按钮时,如何得到InvalidSelectorException?

来自分类Dev

如何缩小js文件?变化veryLoooooooong可能会像x一样变化吗?

来自分类Dev

如何在 Windows 10 上使用 Selenium 和 Python 3.6 抓取表格

来自分类Dev

单击后 URL 保持静态时如何使用 Selenium 进行网页抓取

来自分类Dev

你如何使用 selenium 和 BS3 抓取 javascript?

来自分类Dev

在使用 selenium 和 python 抓取数据时迭代点击

来自分类Dev

在 Python 中抓取时如何同时打印段落和标题?

来自分类Dev

如何使用 Selenium 和 Python 抓取 Glassdoor 评级

来自分类Dev

如何通过 Selenium 和 Python 使用 xpath 精确数字

来自分类Dev

如何在使用python和Beautiful soup抓取时访问站点中的兄弟元素

来自分类Dev

动态和变化的 XPATH

Related 相关文章

  1. 1

    禁用按钮时如何避免颜色变化?

  2. 2

    当HTML不变时,如何使用Python进行网上抓取?

  3. 3

    如何使用Selenium / Python在分页网站上抓取网址

  4. 4

    如何使用BeautifulSoup和Python抓取页面?

  5. 5

    尝试如何使用Selenium和Python抓取orbitz.com时,Field XPath如何保持变化?

  6. 6

    如何显示会变化的文本(在带有Swift的Xcode中)?

  7. 7

    尝试从基于Ajax的Webstie抓取数据时,如何使用Scrapy模拟xhr请求?

  8. 8

    将较高QOS的dispatchWorkItem添加到较低QOS的dispatchQueue时,服务质量(QOS)会如何变化?

  9. 9

    当网站阻止不抓取内容时,如何使用Python抓取?

  10. 10

    如何使用Python和Selenium拉出变化的类名?

  11. 11

    如何使用Selenium Webdriver和Python抓取所有搜索结果

  12. 12

    使用Python进行网页抓取时,如何分隔列和格式化日期?

  13. 13

    如何使用Selenium和Python在https://www.deepl.com/translator中单击“复制”按钮

  14. 14

    如何使用Selenium和Python抓取注释?

  15. 15

    在SKSpriteNode上使用SKAction时,哪个位置值会变化?我将如何考虑职位变动?

  16. 16

    在python中,当我尝试选择随机数时,如何确保使用randint的种子不断变化?

  17. 17

    如何使用Xpath Selenium和Python找到span元素

  18. 18

    禁用按钮时如何避免颜色变化?

  19. 19

    尝试使用Selenium单击按钮时,如何得到InvalidSelectorException?

  20. 20

    如何缩小js文件?变化veryLoooooooong可能会像x一样变化吗?

  21. 21

    如何在 Windows 10 上使用 Selenium 和 Python 3.6 抓取表格

  22. 22

    单击后 URL 保持静态时如何使用 Selenium 进行网页抓取

  23. 23

    你如何使用 selenium 和 BS3 抓取 javascript?

  24. 24

    在使用 selenium 和 python 抓取数据时迭代点击

  25. 25

    在 Python 中抓取时如何同时打印段落和标题?

  26. 26

    如何使用 Selenium 和 Python 抓取 Glassdoor 评级

  27. 27

    如何通过 Selenium 和 Python 使用 xpath 精确数字

  28. 28

    如何在使用python和Beautiful soup抓取时访问站点中的兄弟元素

  29. 29

    动态和变化的 XPATH

热门标签

归档