我有多個具有相同資源id的元素(它們都不在同一屏幕上),所以我需要能夠根據它們包含的文本來選擇它們。但是,部分文本會偶爾發生變化,對於每個元素,只有一小段文字會不斷顯示。那麼,如何在需要時選擇每個元素呢?我已經試過:選擇一個包含特定文本的webelement
不幸的是,它返回一個布爾值,所以我不能「點擊」它:
get_code = WebDriverWait(self.driver, 3).until(
EC.text_to_be_present_in_element((By.ID, "android:id/big_text"), 'validation'))
element.click()
這通常對我的作品,但我需要包括包含(文本() '驗證'),我一直沒能找到辦法做到這一點:
element = WebDriverWait(self.driver, 3).until(
EC.element_to_be_clickable((By.ID, "android:id/big_text")))
element.click()
也許這樣的事情會工作?
element = WebDriverWait(self.driver, 3).until(
EC.presence_of_element_located((By.XPATH, '//*[@id="android:id/big_text" and contains(text(), "validation"]')))
element.click()
但我不知道如何格式化它。任何其他建議。謝謝!
EC.presence_of_element_located(By.XPATH,「// * [@ ID = 「機器人:ID/big_text」 和包含(文本(),「validation」)]')) TypeError:__init __()只需要2個參數(給出3個) – cjg123
爲什麼這不起作用:element = WebDriverWait(self.driver,3).until( EC.element_to_be_clickable ((By.XPATH,「// * [contains(text(),'validation')]」))) eleme nt.click()該元素只是沒有點擊,沒有錯誤拋出。 – cjg123