【发布时间】:2020-12-31 12:28:48
【问题描述】:
我正在尝试单击 google meet 链接中的“Ask to join”按钮(使用我现有的 Google Chrome 个人资料)。这是代码:
options = webdriver.ChromeOptions()
options.add_argument(r"--user-data-dir=C:\\Users\\Pranil.DESKTOP-TLQKP4G.000\\AppData\\Local\\Google\\Chrome\\User Data")
browser = webdriver.Chrome(ChromeDriverManager().install(), options=options)
delay = 15
browser.get('https://meet.google.com/tws-kcie-aox')
ignored_exceptions=(NoSuchElementException,StaleElementReferenceException,)
time.sleep(5)
join_butt = WebDriverWait(browser, delay ,ignored_exceptions=ignored_exceptions).until(EC.presence_of_element_located((By.XPATH, '//*[@id="yDmH0d"]/c-wiz/div/div/div[5]/div[3]/div/div[2]/div/div/div[2]/div/div[2]/div/div[1]/div')))
join_butt.click()
print(join_butt.text)#this prints Ask to join
但是加入按钮没有被点击。按钮上最奇怪的部分“要求加入”文本确实打印在最后一行。这意味着 selenium 已到达正确的按钮。但是为什么还是不点击按钮呢?
编辑: 根据@Alin Stelian 的回答,我将代码更新如下:
browser.get('https://meet.google.com/hst-cfck-kee')
browser.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 'd')
join_butt = WebDriverWait(browser, delay).until(EC.presence_of_element_located((By.XPATH, "//span[contains(text(),'Ask to join')]")))
join_butt.click()
print(join_butt)
print(join_butt.text)
这确实有效,因为两个打印语句都有效......但是按钮没有被点击。这里出了什么问题?
【问题讨论】:
-
您的 xpath 不正确,我试过但找不到。我已经分享了正确的 xpath
标签: python-3.x selenium xpath webdriverwait expected-condition