如何编写正则表达式提取航班目的地与出发城市间的目的地值(Blazedemo求助)
问题解答
一、提取航班目的地与出发城市间的目的地数值
假设你的目标字符串有明确的结构关联(比如「出发城市XXX,目的地编号123,航班目的地YYY」这类格式),以下是适配不同场景的正则方案:
- 带明确标识的场景
如果出发城市和目的地数值间有固定标识(如“出发城市:北京,目的地代码:456,航班目的地:广州”),可使用:
(?<=出发城市.*?)[0-9]+(?=.*?航班目的地)
规则说明:
(?<=出发城市.*?):正向预查,锁定“出发城市”后的内容范围[0-9]+:匹配连续数字(即目标目的地数值)(?=.*?航班目的地):确保数字后存在“航班目的地”相关内容,避免误匹配
- 位置固定的场景
如果字符串结构是「[出发城市] → [目的地数值] → [航班目的地]」,可简化为:
(?<=→\s*)[0-9]+(?=\s*→)
只需将→替换为实际的分隔符号即可。
- 特殊格式适配
如果你的字符串结构特殊,直接提供示例文本,能快速调整正则规则。
二、Blazedemo网站相关技术协助
针对Blazedemo(模拟航班订票的测试站点)的常见问题,给出具体解决方向:
- 元素定位:页面元素大多带有明确的
id/name属性,比如订票按钮用id="book-flights"、乘客姓名输入框用name="inputName",优先用这些属性定位,比XPath更稳定;动态加载元素可添加显式等待(如Selenium的WebDriverWait)。 - 订票流程自动化:选择航班时,可通过表格行内容定位目标航班,比如
//table[@class='table']//tr[contains(., 'Paris')];提交表单后,验证订单号可抓取//div[@class='table-responsive']//td[1]的文本内容。 - 交互异常处理:遇到弹窗时,用
switch_to.alert处理;页面跳转后,需确认新页面加载完成再执行后续操作。
内容的提问来源于stack exchange,提问作者Shashikala S
相关产品推荐
相关产品推荐

