在
//div@class=‘css-1 dbjc4n r-14lw9ot r-z2wwpe r-vgw6uq r-156 q2ks r-urutk0 r-8 8uuktl r-136ojw6'//div11

在控制台中验证这个Xpath代码时,它会显示0匹配。

发布于 2022-02-14 08:21:53
这个网站是建立在ReactJ作为前端的基础上的,如果我没有错的话,找到ReactJs网站的元素有点困难;另外,如果你依赖某个定位器查找工具,它会变得更加困难。建立自己的定位策略总是比依赖工具更好,特别是对于使用React、Vue等构建的网站。
话虽如此,这里的策略是找到相对缩小的相对定位器,然后由于您正在寻找一个随机选择的城市,首先收集所有的城市,然后应用random。下面是它的结论:
我收集了一些城市,但随之而来的是一些不想要的东西(我的亲属定位器),我检查它们,如果它们被捡起来,我就把它们分发出去,只有当一个城市被随机选择时,我才点击它。检查此代码:
import random
driver.get("https://www.spicejet.com/")
time.sleep(10)
driver.find_element(By.XPATH, "//div[@data-testid='to-testID-destination']").click()
time.sleep(2)
cities = driver.find_elements(By.XPATH, "//div[@data-testid='to-testID-destination']//div[@data-focusable='true']")
print(len(cities))
x = random.choice(cities)
if x.text in ['To', 'India', 'International']:
pass
else:
print(x.text)
x.click()
time.sleep(5)
driver.quit()输出:
Pakyong
Pakyong Airport
PYG
Process finished with exit code 0https://stackoverflow.com/questions/71108271
复制相似问题