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

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

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

User avatar
Panchalee
PHP Super Member
PHP Super Member
Posts: 296
Joined: 30/10/2017 10:10 am

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

Post by Panchalee »

จากคำถามของกระทู้ก่อน
https://www.mindphp.com/forums/viewtopic ... 31#p109331

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

Code: Select all

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) Viewed 750 times
แต่ก็ยังไม่สามารถวนลูปเข้าบทความได้ค่ะ อยากทราบว่า ต้องใช้โค้ดอะไร ในการเรียก css คะ

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

User avatar
thatsawan
PHP VIP Members
PHP VIP Members
Posts: 25062
Joined: 31/03/2014 10:02 am
Contact:

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

Post by thatsawan »

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

User avatar
Panchalee
PHP Super Member
PHP Super Member
Posts: 296
Joined: 30/10/2017 10:10 am

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

Post by Panchalee »

thatsawan wrote:ขอผลที่ได้จาก code เเต่ละบรรทัดหน่อยค่ะ อธิบายมาหน่อย เเต่ละบรรทัดทำอะไร
หลังจากที่ให้ selenium เข้าสู่หมวดความรู้แล้ว

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

Code: Select all

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

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

Code: Select all

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'))
    
แล้วต้องการให้ กดกลับมาหน้าเดิม แล้วเข้าบทความอื่นต่อค่ะ

User avatar
thatsawan
PHP VIP Members
PHP VIP Members
Posts: 25062
Joined: 31/03/2014 10:02 am
Contact:

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

Post by thatsawan »

เพื่อเก็บข้อมูลของ browser.find_element_by_class_name('tr.cat-list-row0')
หมายความว่าอะไร ตรงนี้เขียนเพื่อจะทำอะไร เเล้วมันได้ผลอย่างไรค่ะ

User avatar
Panchalee
PHP Super Member
PHP Super Member
Posts: 296
Joined: 30/10/2017 10:10 am

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

Post by Panchalee »

thatsawan wrote:
เพื่อเก็บข้อมูลของ browser.find_element_by_class_name('tr.cat-list-row0')
หมายความว่าอะไร ตรงนี้เขียนเพื่อจะทำอะไร เเล้วมันได้ผลอย่างไรค่ะ
จะทำให้มันหาหัวข้อของบทความให้เจอค่ะ แต่ว่าตอนนี้ยังหาไม่เจอ ไม่แน่ใจว่า ใช้โค้ดผิดรึป่าวค่ะ

User avatar
thatsawan
PHP VIP Members
PHP VIP Members
Posts: 25062
Joined: 31/03/2014 10:02 am
Contact:

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

Post by thatsawan »

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

https://www.mindphp.com/forums/viewtopic ... 31#p109331
ผลได้อะไร ในบันทัดที่เขียนตรงนั้น

User avatar
Panchalee
PHP Super Member
PHP Super Member
Posts: 296
Joined: 30/10/2017 10:10 am

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

Post by Panchalee »

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

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

Code: Select all

 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

Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Programming - C/C++ & java & Python”

Who is online

Users browsing this forum: No registered users and 9 guests