我一直在尝试自动登录到预订系统,以帮助我预订我的课程。
enter image description here
我试过使用以下方法:
clickLogin = driver.find_element(By.XPATH, "//button[text()='Access to Booking System']")
driver.execute_script("arguments[0].click();", clickLogin)
clickLogin = driver.find_element(By.XPATH, "//button[text()='Access to Booking System']")
clickLogin.click()
clickLogin = driver.find_element(By.CLASS_NAME, "div.v-btn.v-btn--is-elevated.v-btn--has-bg.theme--light.v-size--default.primary")
clickLogin.click()
但似乎仍然没有点击它。
如果有人需要上下文,代码的其余部分就在这里:https://github.com/jaezeu/drive-booking/blob/main/main.py
1条答案
按热度按时间jw5wzhpr1#
您的HTML是登录屏幕后面,所以我不能看到完整的HTML,但这里是我可以告诉从您张贴的HTML...
XPath在前两个定位符中的问题是元素内的文本两侧是空格。
第三个定位器的问题是你已经指定了
By.CLASS_NAME
但是提供了一个CSS选择器。By.CLASS_NAME
只接受一个类名,所以你无论如何都需要将它转换成一个CSS选择器。另一个问题是你的CSS选择器正在寻找一个DIV,但是它实际上是你提供的HTML中的一个BUTTON。下面是修复的CSS选择器。我更喜欢XPath,因为对我来说,它包含的文本更易于阅读,所以如果页面上有任何更改,定位器中断,与一串晦涩的类名相比,更容易看到更改的内容。