2017-08-11 53 views
0

我很抱歉,如果這是一個問題的重複,但我沒有看到任何東西似乎在做伎倆。查找具有動態ID和Xpaths的元素

我試圖自動化我的工作時間的過程。這需要使用硒來模擬我爲我進入小時的過程。

問題是,當我瀏覽整個過程時,我遇到了一個實例,其中一個元素具有動態ID和xpath(任何其他的東西,我都不熟悉HTML)。

Problem Occurs Here

我需要選擇「查看」中的「天」按鈕下拉。突出顯示的HTML對應於該按鈕。我已經檢查過,並且每次創建新會話時都會更改ID和Xpath。我通常做下面找到我的元素:

elem = driver.find_element_by_xpath('xpath') 

下面是我目前看到的XPath的:

//*[@id="ab5378a9418345a2a57ad12f066127a6"] 

更復雜的是,對於「週刊」評選的XPath是如下:

//*[@id="741015164c5547fbb5403c03c46636d3"] 

我試圖弄清楚如何在xpath中使用「contains」,但即使如此,兩者並沒有足夠的差別來區分使用「@id」。唯一不變的東西與差,每次我看到的是,

data-automation-label="Day" 

存在一天元素和

data-automation-label="Week" 

存在一週元素。

有沒有人有任何經驗發現這樣的問題時發生的元素?我在Windows 7電腦上使用Python3.6。

再一次,我很抱歉,如果這是重複的,但我很努力地找到答案,然後來到這裏尋求幫助。

在此先感謝!

+0

爲什麼你不能使用專門在該div容器中的類? – IamBatman

回答

2

您可以在下面可以選擇

XPATH使用兩個

//div[@data-automation-label="Day"] 

CSS

div[data-automation-label="Day"] 

當您使用標識你的主要重點應該是如何找到的東西這是該對象所獨有的。如果它是名字或身份證或者什麼不是,那真的不重要。使用你認爲最好的工作。這裏data-automation-label意味着它本身

+0

謝謝你好多!那是第一次嘗試! –

+0

@JoeyB,很高興有幫助。你能否將答案標記爲已接受? –

+0

是的,只是等待,直到它允許我:) –