Q - สอบถาม การทำงาน element แบบ ปกติ กับ ที่เติม s ต่างกันยังไง

แนะนำ สอบถาม ภาษา C สำหรับผู้เริ่มต้น ภาษา Java ภาษา Python

Moderator: mindphp, ผู้ดูแลกระดาน

ธวัชชัย แสนหาญ
PHP Super Member
PHP Super Member
โพสต์: 499
ลงทะเบียนเมื่อ: 15/11/2018 10:02 am

Q - สอบถาม การทำงาน element แบบ ปกติ กับ ที่เติม s ต่างกันยังไง

โพสต์ที่ยังไม่ได้อ่าน โดย ธวัชชัย แสนหาญ »

Element กับ Elements
อยากทราบว่าการใช้งานของ element กับ elements ใช้งานต่างกันไหม
Screenshot (21).png
Screenshot (21).png (220.33 KiB) Viewed 595 times
tatiya
PHP VIP Members
PHP VIP Members
โพสต์: 2845
ลงทะเบียนเมื่อ: 09/07/2018 9:35 am

Re: Q - สอบถาม การทำงาน element แบบ ปกติ กับ ที่เติม s ต่างกันยังไง

โพสต์ที่ยังไม่ได้อ่าน โดย tatiya »

โค้ดสร้าง จริงๆก็เหมือนกัน แต่ เวลารีเทิร์นกับ อันนึ่นน่าจะรีเทิร์น ตัวแปล list ออกมาครับ ถ้าใช้ที่มี s มันจะไม่มี แอททรีบิว พวก click ประมาณนี้ครับ
โค้ดสร้างของ find_element กับ find_elements

โค้ด: เลือกทั้งหมด

def find_element(self, by=By.ID, value=None):
        """
        Find an element given a By strategy and locator. Prefer the find_element_by_* methods when
        possible.

        :Usage:
            element = driver.find_element(By.ID, 'foo')

        :rtype: WebElement
        """
        if self.w3c:
            if by == By.ID:
                by = By.CSS_SELECTOR
                value = '[id="%s"]' % value
            elif by == By.TAG_NAME:
                by = By.CSS_SELECTOR
            elif by == By.CLASS_NAME:
                by = By.CSS_SELECTOR
                value = ".%s" % value
            elif by == By.NAME:
                by = By.CSS_SELECTOR
                value = '[name="%s"]' % value
        return self.execute(Command.FIND_ELEMENT, {
            'using': by,
            'value': value})['value']

    def find_elements(self, by=By.ID, value=None):
        """
        Find elements given a By strategy and locator. Prefer the find_elements_by_* methods when
        possible.

        :Usage:
            elements = driver.find_elements(By.CLASS_NAME, 'foo')

        :rtype: list of WebElement
        """
        if self.w3c:
            if by == By.ID:
                by = By.CSS_SELECTOR
                value = '[id="%s"]' % value
            elif by == By.TAG_NAME:
                by = By.CSS_SELECTOR
            elif by == By.CLASS_NAME:
                by = By.CSS_SELECTOR
                value = ".%s" % value
            elif by == By.NAME:
                by = By.CSS_SELECTOR
                value = '[name="%s"]' % value

        # Return empty list if driver returns null
        # See https://github.com/SeleniumHQ/selenium/issues/4555
        return self.execute(Command.FIND_ELEMENTS, {
            'using': by,
            'value': value})['value'] or []
ว่าแต่ จะใช้ find_elements_by_ ไปเพื่อทำอะไรครับ
ธวัชชัย แสนหาญ
PHP Super Member
PHP Super Member
โพสต์: 499
ลงทะเบียนเมื่อ: 15/11/2018 10:02 am

Re: Q - สอบถาม การทำงาน element แบบ ปกติ กับ ที่เติม s ต่างกันยังไง

โพสต์ที่ยังไม่ได้อ่าน โดย ธวัชชัย แสนหาญ »

ว่าแต่ จะใช้ find_elements_by_ ไปเพื่อทำอะไรครับ
ถามไว้เผื่อมันมีอะไรที่ดีกว่าตัว find_element_by_ธรรมดา
tatiya
PHP VIP Members
PHP VIP Members
โพสต์: 2845
ลงทะเบียนเมื่อ: 09/07/2018 9:35 am

Re: Q - สอบถาม การทำงาน element แบบ ปกติ กับ ที่เติม s ต่างกันยังไง

โพสต์ที่ยังไม่ได้อ่าน โดย tatiya »

ก็นั้นแหละครับ ผมจะได้หาข้อมูลมาตอบได้ถูกประเด็น

find_elements_by_ คือ จะใช้เพื่อค้นหาองค์ประกอบหลายรายการ และวิธีนี่จะ return ค่ามาเป็น list อย่างตัวอย่างที่เอาให้ดูข้างต้น
find_element_by_ คือ จะใช้เพื่อค้นหาองค์ประกอบทีละรายการ

ตัวอย่างเช่น

โค้ด: เลือกทั้งหมด

from selenium.webdriver.common.by import By

driver.find_element(By.XPATH, '//button[text()="Some text"]')
driver.find_elements(By.XPATH, '//button')
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: Google Adsense [Bot] และบุคลทั่วไป 103