จากที่เรานั้นได้ศึกษาการใช้งานโมดูล Selenium (ซิลิเนี่ยม) คืออะไร  ในหัวข้อ แนะนำวิธีการดึงข้อความออกจาก XPath และเก็บไว้ในตัวแปร ด้วยโมดูล Selenium (ซิลิเนียม)  มากันแล้ว หลายท่านอาจจะใช้งานได้ไม่มีปัญหาบางท่านอาจจะเจอปัญหาบางประการบางที โค้ดเดียวกันแค่คนละ ระบบปฏิบัติการ  ก็อาจจะเจอปัญหาต่างกันได้  ในบทความนี้จะมาแนะนำการแก้ไขปัญหาที่ได้พบเจอมาให้ทุกท่านได้อ่านกัน

 

 

ปัญหาดึงข้อความออกมาจากหน้าเว็บโดยใช้โมดูล selenium (ซิลิเนียม) แล้วไม่ตรงกับหน้าเว็บ

            ปัญหาดึงข้อความออกมาจากหน้าเว็บโดยใช้โมดูล  selenium (ซิลิเนียม) แล้วไม่ตรงกับหน้าเว็บ  นั้นอาจจะมีปัญหามากหลายๆประการเช่น  ความเร็วอินเตอร์เน็ต  ความไม่เสถียรของโมดูลเอง และปัญหาอื่นๆ ซึ่งเราสามารถแก้ปัญหาได้โดยเข้าไปแก้ไขในโค้ด

 

วิธีการแก้ปัญหาดึงข้อความออกมาจากหน้าเว็บโดยใช้โมดูล selenium (ซิลิเนียม) แล้วไม่ตรงกับหน้าเว็บ

           โดยปกติแล้วเราจะเขียนโค้ดการดึงข้อควาจากหน้าเว็บดังนี้

# -*- coding: utf-8 -*-
from selenium import webdriver
import time
title1 = 'สอบถามเรื่อง IP Address Soap webserver หน่อยค่ะ'
title2 = "ใส่ Working Adress กด Save ไม่ได้"
driver = webdriver.Firefox(executable_path=r'C:\Users\BDC-CLUB\PycharmProjects\mdsoft\geckodriver.exe')
driver.get("http://www.mindphp.com/online-tools/tags.html")
a = driver.find_element_by_id("filter-search")
a.send_keys("css")
a.submit()
ids = driver.find_elements_by_xpath("//*[@id='adminForm']/ul/li/div/a")
for ii in ids:
    print(ii.text)

             

 

             ผลการรัน:เราจะเห็นว่าได้ข้อความไม่ตรงกับในเว็บ

computer case
E-mail Address
Electronic
Gopher
Instruction
Java SDK
Mainboard
Processing
Reduced
sitemap
โปรแกรมบัญชี
.htaccess
A Record
Abstract Calss
Acceleration
accepting
Access Point
Account Receivable
Accounting
Accounting Information System

 

       วิธีการแก้ไขปัญหาก็คือใส่ time.sleep(2) ในโค้ด

# -*- coding: utf-8 -*-
from selenium import webdriver
import time
title1 = 'สอบถามเรื่อง IP Address Soap webserver หน่อยค่ะ'
title2 = "ใส่ Working Adress กด Save ไม่ได้"
driver = webdriver.Firefox(executable_path=r'C:\Users\BDC-CLUB\PycharmProjects\mdsoft\geckodriver.exe')
driver.get("http://www.mindphp.com/online-tools/tags.html")
a = driver.find_element_by_id("filter-search")
a.send_keys("css")
a.submit()
time.sleep(2) #โค้ดที่เพิ่มขึ้นมา
ids = driver.find_elements_by_xpath("//*[@id='adminForm']/ul/li/div/a")
for ii in ids:
    print(ii.text)

           ผลการรัน

CSS
CSS3
HTMLCSS
บทเรียน CSS3
กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
G - รูปแบบ @tsukasaz, sangon
โดย M003 จ 22 เม.ย. 2013 1:23 pm บอร์ด Risk
0
3
จ 22 เม.ย. 2013 1:23 pm โดย M003 View Topic G - รูปแบบ @tsukasaz, sangon
ตัวอย่าง การเชื่อมต่อฐานข้อมูล PHP OOP
โดย M004 อ 21 เม.ย. 2013 10:42 am บอร์ด Share Knowledge
0
940
อ 21 เม.ย. 2013 10:42 am โดย M004 View Topic ตัวอย่าง การเชื่อมต่อฐานข้อมูล PHP OOP
สรุปความคืบหน้าวันที่ 20 เมษายน 2556
โดย tsukasaz ส 20 เม.ย. 2013 7:51 pm บอร์ด Risk
0
2
ส 20 เม.ย. 2013 7:51 pm โดย tsukasaz View Topic สรุปความคืบหน้าวันที่ 20 เมษายน 2556
[Joomla 2.5]ตัวอย่าง การใช้งาน function print
โดย M004 ส 20 เม.ย. 2013 7:34 pm บอร์ด Joomla Developing Knowledge
0
711
ส 20 เม.ย. 2013 7:34 pm โดย M004 View Topic [Joomla 2.5]ตัวอย่าง การใช้งาน function print
eMosbat TinyMCE Integration เปลี่ยนแปลง BBCODE ให้มีความสวยงามและทันสมัย
โดย M004 ส 20 เม.ย. 2013 7:17 pm บอร์ด PHPBB3.0 Mod Review
0
1195
ส 20 เม.ย. 2013 7:17 pm โดย M004 View Topic eMosbat TinyMCE Integration  เปลี่ยนแปลง BBCODE ให้มีความสวยงามและทันสมัย
ข้อมูลไม่ยอมลงฐานข้อมูล ไม่รู้เป็นไร
โดย deelert ส 20 เม.ย. 2013 7:16 pm บอร์ด Programming - PHP
1
1045
อ 21 เม.ย. 2013 12:38 am โดย mindphp View Topic ข้อมูลไม่ยอมลงฐานข้อมูล ไม่รู้เป็นไร
B - เกณฑ์ประเมินความเสี่ยง(เพิ่ม)@sangon
โดย M003 ส 20 เม.ย. 2013 6:39 pm บอร์ด Risk
2
20
จ 22 เม.ย. 2013 5:06 pm โดย M003 View Topic B - เกณฑ์ประเมินความเสี่ยง(เพิ่ม)@sangon
B - แก้ไขในหน้าอัพโหลดเอกสารหมวดหมู่ขึ้น 1 ตลอด @Sangon
โดย M003 ส 20 เม.ย. 2013 5:18 pm บอร์ด Risk
3
18
อ 23 เม.ย. 2013 10:36 am โดย M004 View Topic B - แก้ไขในหน้าอัพโหลดเอกสารหมวดหมู่ขึ้น 1 ตลอด @Sangon