Python Selenium, проверь наличие класса в WhatsappWeb - PullRequest
1 голос
/ 28 марта 2020

Я пытаюсь создать код, чтобы проверить, существует ли номер телефона, и для этого я использую WhatsappWeb и Selenium.

Я пытаюсь использовать следующий скрипт:

from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import time
from selenium.common.exceptions import NoSuchElementException

driver = webdriver.Chrome(r'C:\Users\Martin\Desktop\Python Project\whatsappsms\chromedriver_win32\chromedriver')

driver.implicitly_wait(15)

driver.get('https://web.whatsapp.com')
time.sleep(5)


driver.execute_script("window.open('');")

driver.switch_to.window(driver.window_handles[1])

driver.get('https://api.whatsapp.com/send?phone=355692020202')

driver.find_element_by_xpath('// *[ @ id = "action-button"]').click()

driver.find_element_by_xpath('// *[ @ id = "fallback_block"] / div / div / a').click()

time.sleep(2)

if
driver.find_element_by_xpath('/html/body/div[1]/div/div/div[4]/div/header/div[2]/div[1]/div/span').get_attribute('innerHTML') == '+355 69 202 0202':
    
print("script executed, number exists")

else:
    pass


class_EL= driver.find_elements_by_class_name('_3lLzD')

for i in class_EL:

    if (i.get_attribute('innerHTML')) == 'Phone number shared via url is invalid.':

        print("script executed, number does not exist")

    else:
        pass 

С моей точки зрения, он покажет модальный класс всплывающего окна, если номер не существует, и go на страницу чата, если номер существует, но не может найти способ связать оба условия.

Заранее спасибо

...