[ปัญหา]วิธีการเรียกใช้โค้ดใน css เพื่อใช้ในการวนลูปใน selenium

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

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

ภาพประจำตัวสมาชิก
Panchalee
PHP Super Member
PHP Super Member
โพสต์: 296
ลงทะเบียนเมื่อ: 30/10/2017 10:10 am

[ปัญหา]วิธีการเรียกใช้โค้ดใน css เพื่อใช้ในการวนลูปใน selenium

โพสต์โดย Panchalee » 01/12/2017 2:08 pm

จากคำถามของกระทู้ก่อน
http://www.mindphp.com/forums/viewtopic.php?p=109331#p109331

ได้ลองเปลี่ยนเรียกแบบ css มาเป็น

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

weblink = browser.find_element_by_class_name('tr.cat-list-row0')
for w in range(len(weblink)):
    link = browser.find_element_by_class_name('tr.cat-list-row0')
    allweb = link[w].get_attribute("href")
    browser.get(allweb.encode('utf-8'))
    browser.back()


01.png
01.png (48.09 KiB) เปิดดู 299 ครั้ง


แต่ก็ยังไม่สามารถวนลูปเข้าบทความได้ค่ะ อยากทราบว่า ต้องใช้โค้ดอะไร ในการเรียก css คะ

*หมายเหตุ ได้เปลี่ยนเว็บไซต์ในการทดลองทำค่ะ

ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 12684
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: [ปัญหา]วิธีการเรียกใช้โค้ดใน css เพื่อใช้ในการวนลูปใน selenium

โพสต์โดย thatsawan » 01/12/2017 2:13 pm

ขอผลที่ได้จาก code เเต่ละบรรทัดหน่อยค่ะ อธิบายมาหน่อย เเต่ละบรรทัดทำอะไร

ภาพประจำตัวสมาชิก
Panchalee
PHP Super Member
PHP Super Member
โพสต์: 296
ลงทะเบียนเมื่อ: 30/10/2017 10:10 am

Re: [ปัญหา]วิธีการเรียกใช้โค้ดใน css เพื่อใช้ในการวนลูปใน selenium

โพสต์โดย Panchalee » 01/12/2017 2:36 pm

thatsawan เขียน:ขอผลที่ได้จาก code เเต่ละบรรทัดหน่อยค่ะ อธิบายมาหน่อย เเต่ละบรรทัดทำอะไร


หลังจากที่ให้ selenium เข้าสู่หมวดความรู้แล้ว

ส่วนนี้จะเป็นการสร้างตัวแปรที่ weblink เพื่อเก็บข้อมูลของ browser.find_element_by_class_name('tr.cat-list-row0')

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

weblink = browser.find_element_by_class_name('tr.cat-list-row0')



หลังจากนั้น ให้ตัวแปร weblink ที่ตั้งไว้มาใส่ใน for แล้วให้วนลูปค่ะ

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

for w in range(len(weblink)):
    link = browser.find_element_by_class_name('tr.cat-list-row0')
    allweb = link[w].get_attribute("href")
    browser.get(allweb.encode('utf-8'))
   


แล้วต้องการให้ กดกลับมาหน้าเดิม แล้วเข้าบทความอื่นต่อค่ะ

ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 12684
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: [ปัญหา]วิธีการเรียกใช้โค้ดใน css เพื่อใช้ในการวนลูปใน selenium

โพสต์โดย thatsawan » 01/12/2017 2:50 pm

เพื่อเก็บข้อมูลของ browser.find_element_by_class_name('tr.cat-list-row0')

หมายความว่าอะไร ตรงนี้เขียนเพื่อจะทำอะไร เเล้วมันได้ผลอย่างไรค่ะ

ภาพประจำตัวสมาชิก
Panchalee
PHP Super Member
PHP Super Member
โพสต์: 296
ลงทะเบียนเมื่อ: 30/10/2017 10:10 am

Re: [ปัญหา]วิธีการเรียกใช้โค้ดใน css เพื่อใช้ในการวนลูปใน selenium

โพสต์โดย Panchalee » 01/12/2017 3:01 pm

thatsawan เขียน:
เพื่อเก็บข้อมูลของ browser.find_element_by_class_name('tr.cat-list-row0')

หมายความว่าอะไร ตรงนี้เขียนเพื่อจะทำอะไร เเล้วมันได้ผลอย่างไรค่ะ


จะทำให้มันหาหัวข้อของบทความให้เจอค่ะ แต่ว่าตอนนี้ยังหาไม่เจอ ไม่แน่ใจว่า ใช้โค้ดผิดรึป่าวค่ะ

ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 12684
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: [ปัญหา]วิธีการเรียกใช้โค้ดใน css เพื่อใช้ในการวนลูปใน selenium

โพสต์โดย thatsawan » 01/12/2017 3:04 pm

browser.find_element_by_class_name('tr.cat-list-row0')

viewtopic.php?p=109331#p109331
ผลได้อะไร ในบันทัดที่เขียนตรงนั้น

ภาพประจำตัวสมาชิก
Panchalee
PHP Super Member
PHP Super Member
โพสต์: 296
ลงทะเบียนเมื่อ: 30/10/2017 10:10 am

Re: [ปัญหา]วิธีการเรียกใช้โค้ดใน css เพื่อใช้ในการวนลูปใน selenium

โพสต์โดย Panchalee » 01/12/2017 3:19 pm

มันไม่เกิดผลอะไรเลยค่ะ จากโค้ดทั้งหมด ตอนนี้เข้าไปแค่หน้าเว็บหมวดความรู้ได้ค่ะ แต่ยังเข้าบทความไม่ได้

error ที่แสดงออกมาค่ะ

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

 File "C:/Users/panchalee/PycharmProjects/Selenium/testloopmdsoft.py", line 17, in <module>
    weblink = browser.find_element_by_class_name('tr.cat-list-row0')
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 485, in find_element_by_class_name
    return self.find_element(by=By.CLASS_NAME, value=name)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 855, in find_element
    'value': value})['value']
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 308, in execute
    self.error_handler.check_response(response)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 194, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: .tr.cat-list-row0


  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ย้อนกลับไปยัง

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

กำลังดูบอร์ดนี้: 7 และ บุคคลทั่วไป 0 ท่าน