python - Selenium Chrome 、Python。在网站上找不到该按钮

标签 python macos google-chrome selenium

我最近正在学习如何使用 Webdriver,当我在 Eventbrite 网站上使用它时,它找不到创建事件按钮(我可以单击它)。我尝试了很多不同的方法来定位按钮,如 XPath、link_text、类,但它们不起作用。这是我正在使用的代码:

    driver = self.driver
    driver.get("https://www.eventbrite.com/")
    driver.find_element_by_xpath("(//a[contains(text(),'Log in')])[2]").click()

    driver.find_element_by_id("login-email").clear()
    driver.find_element_by_id("login-email").send_keys("email")
    driver.find_element_by_id("login-password").clear()
    driver.find_element_by_id("login-password").send_keys("password")
    driver.find_element_by_id("remember_me").click()
    driver.find_element_by_xpath("//input[@value='Log in']").click()
    time.sleep(2)
    driver.find_element_by_link_text("Create Event").click()

谁能帮我解决这个问题吗?

最佳答案

如果我理解你的问题是正确的,那么你的示例的最后一行(“Create Event”)是不起作用的?我可以说,如果我使用 css 选择器,我可以单击该按钮。 (我也倾向于发现 css 选择器更容易使用)

driver = self.driver
driver.get("https://www.eventbrite.com/")
driver.find_element_by_xpath("(//a[contains(text(),'Log in')])[2]").click()

driver.find_element_by_id("login-email").clear()
driver.find_element_by_id("login-email").send_keys("email")
driver.find_element_by_id("login-password").clear()
driver.find_element_by_id("login-password").send_keys("password")
driver.find_element_by_id("remember_me").click()
driver.find_element_by_xpath("//input[@value='Log in']").click()
time.sleep(2)
driver.find_element_by_css_selector("div.l-mar-top-3 a.js-organizer-cta-btn").click()

关于python - Selenium Chrome 、Python。在网站上找不到该按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39865034/

相关文章:

javascript - Chrome - devtools 时间线中的事件时间与性能计时 API 之间的差异

google-chrome - 如何设置 cron 作业以使用 crontab 在浏览器中打开网页?

ios - 使用 QtCreator 构建应用程序 iOS 时出错

sql - 在 OSX 上导入 PostgreSQL 转储

ios - 如果我买不起Mac,如何开发iOS应用程序?

javascript - Datepickerfield 没有值可供选择 : Chrome

python - 使用 setUpTestData 的 Django 测试不会保留测试之间的更改

python - 我怎样才能形成一个正则表达式,其中在某些情况下以 * 开头,而在其他情况下则不在 python 中

python - 我无法使用 celery 任务

python - Python 映射中的副作用(Python "do" block )